<asp:DropDownList ID="ddl1" runat="server" AutoPostBack="True" Width="110px">
<asp:ListItem>Test1</asp:ListItem>
<asp:ListItem>Test2</asp:ListItem>
<asp:ListItem>Test3</asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="ddl2" runat="server" Width="110px">
</asp:DropDownList>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" />
我正在尝试根据所选索引在ddl1.SelectedIndexChanged上将列表项添加到ddl2。
ddl2.Items.Insert(0, New ListItem("Please Select", "-1"))
ddl2.Items.Insert(1, New ListItem("value2", "1"))
ddl2.Items.Insert(2, New ListItem("value3", "2"))
Protected Sub ddl1_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ddl1.SelectedIndexChanged
ddl2.Items.Clear()
If (ddl1.SelectedIndex = 0) Then
ddl2.Items.Insert(0, New ListItem("Please Select", "-1"))
ddl2.Items.Insert(1, New ListItem("value2", "1"))
ddl2.Items.Insert(2, New ListItem("value3", "2"))
End if
End Sub
在提交时,我无法保留所选的ddl2值。
请帮我提出建议。我尝试过使用隐藏值,但仍然不成功。
注意:我使用的是用户控件。
答案 0 :(得分:0)
别忘了将ddl1的Autopostback属性设为true。
将此更改为ddl1选择索引已更改
If ddl1.SelectedValue = "test1" Then
ddl2.Items.Add("one")
ElseIf ddl1.SelectedValue = "test2" Then
ddl2.Items.Add("two")
Else
ddl2.items.Add("three")
End If
点击按钮
Label1.Text = "first : " + ddl1.SelectedValue.ToString() + "Second :" + ddl2.SelectedValue.ToString()
我试过这个并且它有效。根据你的要求改变这个