2011-05-17 70 views
2

Dropdownlist數據綁定使用throw公共函數。這在傳遞dropdownlist時會遇到問題。使用另一個類的Dropdownlist數據綁定?

錯誤:對象不能設置對象的實例

的代碼是下面

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 
+0

在哪一行你會得到異常? – 2011-05-17 08:46:25

+0

@rewinder:lobjGeneral.loadComboBox1(Me.ddlagent1,ldstOption.Tables(0),「找不到數據」) – 2011-05-17 08:49:12

+0

數據集有數據,並且在運行此行之前將me.ddlagent1作爲dropdownlist對象。運行後,將其更改爲空對象,也不調用函數 – 2011-05-17 08:52:11

回答

2

你的方法應該得到Dropdownlist參考

Public Sub loadComboBox1(ByRef cbo As DropDownList, ...... 
+0

是的,它有Dropdownlist參考 – 2011-05-17 08:49:59

+0

你需要聲明你的下拉列表變量作爲引用類型,而不是值類型。 – 2011-05-17 08:54:08

+0

@穆罕默德:此功能正在頁面加載時間工作。 – 2011-05-17 08:55:24

相關問題