Я вытаскиваю свои волосы с этим.
У меня есть usercontrol выпадающего списка Сотрудника (uxEmployee), и я представил метод SelectedValue как свойство (SelectedValue).страница Я пытаюсь либо установить значение на основе моих данных, либо добавить значение в список, если его там нет.
Независимо от того, что я делаю, это добавление значения Set в список.Даже когда значение уже есть в списке;это все еще добавляет ценность.В основном FindByValue всегда возвращает «Nothing», что бы я ни делал.Буду признателен за любую помощь.
Public Property SelectedValue() As String
Get
Return uxEmployee.SelectedValue
End Get
Set(ByVal value As String)
If Not uxEmployee.Items.FindByValue(value) Is Nothing Then
uxEmployee.SelectedValue = value
Else
uxEmployee.Items.Insert(0, New ListItem(value, value))
uxEmployee.AppendDataBoundItems = True
uxEmployee.DataBind()
End If
End Set
End Property
Public WriteOnly Property Department() As String
Set(ByVal value As String)
_department = value
End Set
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not (IsPostBack) Then
Dim emp As New Employee()
With uxEmployee
If _department <> String.Empty Then
.DataSource = emp.GetByDept(_department)
Else
.DataSource = emp.GetList()
End If
.DataTextField = "FullName"
.DataValueField = "UserName"
.DataBind()
End With
End If
End Sub
моя страница вызова использует следующее при загрузке страницы .. uxSalesleadv является экземпляром uxemployee
Dim objPrj As ServiceProject = New ServiceProject()
objPrj = objPrj.GetItem(prjID)
With objPrj
uxSalesLead.SelectedValue = .SalesLead
End With