dropdownlist未声明.由于其保护级别的原因,它可能无法访问



正如您从注释掉的代码中看到的,我正试图让模型下拉列表受到+ selCurrentManuf.Text的影响。

我收到这个错误

未声明"selCurrentManuf"。由于其保护级别的原因,它可能无法访问。

如何解决这个问题?

我可以访问页面另一部分的下拉菜单,如下所示。。

Dim sc1_currentmanuf As String = CType(e.Item.FindControl("selCurrentManuf"), DropDownList).Text

然而,在我尝试使用的函数中,selCurrentManuf无法访问

    Dim sc1_currentmanuf As String = CType(dlContacts.Items(0).FindControl("selCurrentManuf"), DropDownList).Text
    Dim myQuery As String = "SELECT * FROM c5_model where c5_manufid = " + sc1_currentmanuf

右键单击.aspx页面,然后选择"转换为Web应用程序"命令。

然后你就可以写:

  Dim myQuery As String = 
    String.Format("SELECT * FROM c5_model WHERE c5_manuf = '{0}'", 
                  selCurrentManuf.SelectedItem.Text )

我假设您的函数在App_Code或另一个dll的类中,而不是在页面的代码后面。

如果是,请改为:

我假设你的asp页面上有这样的代码:

Protected Sub selCurrentManuf_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        GetCurrentModel(selCurrentManuf.Text)
End Sub

将您的GetCurrentModel代码更改为:

Function GetCurrentModel(Byval c5_manuf as String) As DataSet
    Dim mySession = System.Web.HttpContext.Current.Session
    Dim myQuery As String = "SELECT * FROM c5_model " 'where c5_manuf = " + + c5_manuf 
    Dim myConnection As New MySqlConnection(mySession("localConn"))
    myConnection.Open()
    Dim myCommand As New MySqlCommand(myQuery, myConnection)
    Dim myDataAdapter = New MySqlDataAdapter(myCommand)
    Dim myDataset As New DataSet
    myDataAdapter.Fill(myDataset, "c5_model")
    Dim dr As DataRow = myDataset.Tables(0).NewRow       
    myDataset.Tables(0).Rows.Add(dr)      
    GetCurrentModel =  myDataset
    myConnection.Close()         
 End Function

最新更新