2011-10-03 122 views
1

我有两个下拉菜单。 SelCurrentManuf和selCurrentModel。我希望selCurrentModel中的选项根据selCurrentManuf中选择的选项进行更改。我该怎么做?如何在另一个选择中使选择选项更改选项

<asp:DropDownList runat="server" ID="selCurrentManuf"></asp:DropDownList> 
<asp:DropDownList runat="server" ID="selCurrentModel"></asp:DropDownList> 

这就是我目前如何填充selCurrentModel

Public Sub PopulateCurrentModel() 
     Dim mySelectQuery As String = "SELECT * FROM Model where ManufID = "+ selCurrentManuf.Text+";" 
     Dim myConnection As New MySqlConnection(Session("localConn")) 
     Dim myCommand As New MySqlCommand(mySelectQuery, myConnection) 

     myConnection.Open() 
     Dim myReader As MySqlDataReader 
     myReader = myCommand.ExecuteReader() 

     While myReader.Read 
      Dim newListItem As New ListItem 
      newListItem.Value = myReader.GetString("Modelid") 
      newListItem.Text = myReader.GetString("desc") 
      selCurrentModel.Items.Add(newListItem) 
     End While 

     myReader.Close() 
     myConnection.Close() 
    End Sub 

,但它只是填充第一选择MANUF,并且并没有改变后

Private Sub selCurrentManuf_SelectedIndexChanged(ByVal sender As System.Object, _ 
    ByVal e As System.EventArgs) Handles selCurrentManuf.SelectedIndexChanged 

     PopulateCurrentModel() 
End Sub 
+0

这个问题与.net,ajax,vb.net,vb,asp等没有任何关系,只关注javascript。 –

+0

是[这个例子](http://www.asp.net/ajaxlibrary/AjaxControlToolkitSampleSite/)你打算做什么?或[this one](http://weblogs.asp.net/raduenuca/archive/2011/03/06/asp-net-mvc-cascading-dropdown-lists-tutorial-part-1-defining-the-problem-而最context.aspx)? – JMax

+0

啊是的,这就是我想要做的,但xample是在C#我认为我是usin vb – Beginner

回答

0

这就是所有需要的! autopostback =“true”!

+0

哇真的..... – CheckRaise

0

变化selCurrentManuf.TextselCurrentManuf.SelectedItem.Value

请注意:你有一个SQL注入安全漏洞。请搜索SQL注入并修复。

+0

你现有的代码有'selCurrentManuf',没有更多的代码我不能说你为什么会得到这个错误。错字?你换了别的东西吗? – Hogan

+0

对不起,我在另一页上试了一下。但即使在我显示的页面上,当用户放下盒子并更改模型时,其他下拉的值也不会改变,它不会再次运行该功能 – Beginner

+0

您是否已挂钩on on change事件? on change事件应该调用上面的代码。 – Hogan

相关问题