7

次の DropDownList コントロールがあります。

<asp:label runat="server" text="Filter by state: "></asp:label>
<asp:dropdownlist runat="server" id="filterbystate" 
    OnSelectedIndexChanged="FilterByState">
    <asp:ListItem value="all" selected="True">All</asp:ListItem>
    <asp:ListItem value="ca" selected="False">California</asp:ListItem>
    <asp:ListItem value="co" selected="False">Colorado</asp:ListItem>
    <asp:ListItem value="id" selected="False">Idaho</asp:ListItem>
    <asp:ListItem value="ut" selected="False">Utah</asp:ListItem>
</asp:dropdownlist>

メソッドは次のとおりです。

protected void FilterByState(object sender, EventArgs e)
{
    var value = e;
}

メソッドは何らかの理由で起動しません。別の値を選択しても何も起こりません。私がやろうとしているのは、状態値を渡してページをリロードすることです。これにより、結果をフィルタリングできます。

私は何を間違っていますか?

4

4 に答える 4

25

AutoPostBack=TrueDDL の属性として設定すると、選択したインデックス変更イベントが自動的にポストバックされます

于 2013-04-23T15:20:40.403 に答える
2

これをドロップダウン リスト aspx に追加すると、リクエストがサーバーに送信され、イベントが発生します。

AutoPostBack="true"
于 2013-04-23T15:21:17.670 に答える
1

AutoPostBack="true"

ページ読み込みイベントの書き込み

if (!IsPostBack)
{
   DDL_Designation_Bind();   
}

//autopostbackプロパティがロード イベントを発生させてdropdownlistから再バインドし、常にインデックス 0 を選択するため、再バインドしないdropDownlist

于 2016-07-04T05:45:48.503 に答える