#.net #asp.net #vb.net #drop-down-menu
#.net #asp.net #vb.net #выпадающее меню
Вопрос:
Привязка данных выпадающего списка с использованием общей функции throw. В этом есть проблема при передаче dropdownlist.
Ошибка: объекту не удается установить экземпляр object
Код приведен ниже
Код страницы Aspx:
<asp:DropDownList ID="ddlagent1" CssClass="ParameterTextBox" runat="server" AutoPostBack="false"></asp:DropDownList>
Protected Sub chkcity_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles chkcity.CheckedChanged
ldstOption = //fill values here
lobjGeneral.loadComboBox1(Me.ddlagent1, ldstOption.Tables(0), "No Data found")
End Sub
Общий класс:
Public Sub loadComboBox1(ByVal cbo As DropDownList, ByVal dset As DataTable, ByVal msgstr As String, _
Optional ByVal visible As Boolean = True, _
Optional ByVal enabled As Boolean = True, _
Optional ByVal tno As Integer = 0, _
Optional ByVal dmem As Integer = 2, _
Optional ByVal vmem As Integer = 1)
Try
If (dset.Rows.Count > 0) Then
cbo.DataSource = dset
cbo.DataTextField = dset.Columns(dmem).Caption
cbo.DataValueField = dset.Columns(vmem).Caption
cbo.DataBind()
cbo.SelectedIndex = 0
cbo.Visible = visible
cbo.Enabled = enabled
Else
dset = Nothing
cbo.Text = msgstr
End If
Catch ex As Exception
'Call CreateErrorLogFile("General", "loadComboBox", Err.Description)
End Try
End Sub
Комментарии:
1. В какой строке вы получаете исключение?
2. @rewinder: lobjGeneral.loadComboBox1(Я.ddlagent1, ldstOption. Таблицы (0), «Данные не найдены»)
3. в dataset есть данные, и перед запуском этой строки me.ddlagent1 как объект dropdownlist. После запуска этой строки она изменяется на нулевой объект, а также не вызывает функцию
4. Можете ли вы показать, где вы определяете переменную lobjGeneral?
5. Начало класса: затемнить lobjGeneral как новый clsGeneral
Ответ №1:
Ваш метод должен получить ссылку на Dropdownlist
Public Sub loadComboBox1(ByRef cbo As DropDownList, ......
Комментарии:
1. Вам нужно объявить вашу переменную dropdownlist в качестве ссылочного типа вместо типа значения.
2. вы имеете в виду, что та же функция работает при загрузке страницы, но не работает при изменении выпадающего списка?
3. вы изменили ByVal на ByRef ? По ссылке cbo в выпадающем списке?
4. @Muhammad: Все в порядке, я заканчиваю. В конце загрузки страницы я ничего не установил для объекта lobjGeneral. это проблема!!