0
<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 の値を保持できません。

提案を手伝ってください。非表示の値を使用してみましたが、まだ成功していません。

注: ユーザー コントロールを使用しています。

4

1 に答える 1

0

ddl1 の Autopostback プロパティを true にすることを忘れないでください。

これを ddl1 select index changed に入れてください

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

私はこれを試してみましたが、うまくいきます。要件に応じてこれを変更してください

于 2013-08-20T05:41:04.630 に答える