3

以下のコードを試しましたが、機能しませんでした。

    DropDownList1.SelectedIndexChanged += new EventHandler ( doSub );
  1. VBではなくC#です
  2. DropDownList1と入力すると。インテリセンスはSelectedIndexChangedメソッドをもたらしません
  3. そして最後に、SelectedIndexChangedはイベントであり、RaiseEventによって呼び出される必要があることについて文句を言います。

お互いのSelectedValueに基づいて動的にddlsを作成しようとしているので、次のように宣言するのではなく、プログラムでOnSelectedIndexChanged値を設定する必要があります。

    <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DoSub">
    </asp:DropDownList>

前もって感謝します。

ヒント:解決策を機能させるには、@PageセクションのAutoEventWireup="false"を削除してください。

4

2 に答える 2

3

AddHandlerを使用して、イベントハンドラーをアタッチします。

構文:

AddHandler obj.EventName, AddressOf HandlerName

例:

<script runat="server">
    Protected Sub Page_Load(sender As Object, e As System.EventArgs)
        AddHandler DropDownList1.SelectedIndexChanged, AddressOf DoSub
    End Sub
    Sub DoSub(sender As Object, e As System.EventArgs)
        Response.Write(DropDownList1.SelectedValue)
    End Sub
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>

        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
            <asp:ListItem>Foo</asp:ListItem>
            <asp:ListItem>Bar</asp:ListItem>
        </asp:DropDownList>

    </div>
    </form>
</body>
于 2012-08-29T08:20:33.787 に答える
1
AddHandler DropDownList1.SelectedIndexChanged, AddressOf FunctionName
于 2012-08-29T08:54:22.120 に答える