下拉列表不保留提交时的值

时间:2013-08-20 03:37:36

标签: asp.net vb.net

<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值。

请帮我提出建议。我尝试过使用隐藏值,但仍然不成功。

注意:我使用的是用户控件。

1 个答案:

答案 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()

我试过这个并且它有效。根据你的要求改变这个

相关问题