ورود

View Full Version : سوال: عدم اجرای رویداد Web User Control



ROSTAM2
چهارشنبه 21 آذر 1403, 10:58 صبح
سلام

وقت بخیر

من یک Web User Control ساختم که یک DropDownList داره و آیتم هاش توی Web Form اضافه می شه:

156324


Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
With Me.ProjectType
.Items.Clear()
.Items.Add(New ListItem("Windows Forms", "Windows Forms"))
.Items.Add(New ListItem("Console Application", "Console Application"))
.Items.Add(New ListItem("Workflow Console Application", "Workflow Console Application"))
.Items.Add(New ListItem("Asp.Net Web Application", "Asp.Net Web Application"))
.Items.Add(New ListItem("Asp.Net MVC Application", "Asp.Net Web Application"))
End With
End Sub


و یک رویداد سفارشی داره که همزمان با رویداد SelectedIndexChanged از DropDownList Raise می شه و در Web Form استفاده کردم ولی اجرا نمی شه....

Web User Controlo

Public Class DropDownField
Inherits System.Web.UI.UserControl
Public Event SelectedValueChanged(value As String)
Public Property FieldName() As String
Get
Return Me.Caption.Text
End Get
Set(ByVal value As String)
Me.Caption.Text = value
End Set
End Property


Public ReadOnly Property Items() As ListItemCollection
Get
Return Me.DropDownList1.Items
End Get
End Property
Private SelectedValueValue As String
Public Property SelectedValue() As String
Get
Return SelectedValueValue
End Get
Set(ByVal value As String)
SelectedValueValue = value
End Set
End Property


Public ReadOnly Property SelectedItem() As ListItem
Get
Return Me.DropDownList1.SelectedItem
End Get
End Property




Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub


Private Sub DropDownList1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Me.SelectedValue = Me.DropDownList1.SelectedItem.Value
RaiseEvent SelectedValueChanged(Me.DropDownList1.SelectedItem .Value)
End Sub


End Class


Web Form:

Private Sub ProjectType_SelectedValueChanged(value As String) Handles ProjectType.SelectedValueChanged
MsgBox(value)
End Sub


برای دریافت مقدار انتخاب شده باید از چه روشی استفاده کنم؟

ROSTAM2
چهارشنبه 21 آذر 1403, 15:57 عصر
سلام مجدد

مشکل DropDownList این بود که خصوصیت AutoPostBack براش تعیین نشده بود:


<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true">

</asp:DropDownList>



Private Sub DropDownList1_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
RaiseEvent SelectedValueChanged(Me.DropDownList1.SelectedItem .Value)
End Sub


156325