2012-04-30 7 views
1

後に動的にバインドDropDownListコントロールの選択された値を保持私はそうのようなASPXマークアップで宣言ドロップダウンリストを持っています選択した値はポストバック後も保持されません。また、選択したインデックス変更イベントを発生させることもできません。どうしましたか ?はポストバック

答えて

5

このようにコードを変更してください:

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostback) 
     BindDropdowns(); 
} 

これは、あなたがAutoPostBack="true"を使用する必要があり、あなたのドロップダウンコントロールが最初pageload

+0

まあ、私は知っている - それは両刃の剣だ...あなたはなぜこれが起こっている任意のアイデアを持っていますか? – user560498

+0

@ user560498:それは縛られるべきではありません。もしあなたが何か間違っているなら。これについては何も動的ではありません。それは標準的なデータバインディングです。 –

+0

OK。それは私が思ったことです、おそらく私のページに間違っている何かがあります、これのためにありがとう.... – user560498

2

に一度バインドされていることを意味します。

<asp:DropDownList ID="State" AutoPostBack="true" 
runat="server"></asp:DropDownList> 

そして、状態も、このような魔女のイベントハンドラ:コードで次に

<asp:DropDownList ID="State" AutoPostBack="true" 
OnSelectedIndexChanged="State_SelectedIndexChanged" 
runat="server"></asp:DropDownList> 

。ポストバック時だけでなくバインド:私はドロップダウンリストがそのポストバック後に結合失い、それを行うとき

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostback) 
     BindDropdowns(); 
} 

protected void State_SelectedIndexChanged(object sender, System.EventArgs e) 
{ 
    var somevalue= State.SelectedValue; 
}