1

動的に作成されたドロップダウン リストの Selectedindexchanged イベントを発生させる必要があります。aspx ページにコードがありません。すべてのコードはコードビハインドにあります。

DropDownList objdropDown = new DropDownList();
objdropDown.EnableViewState = true;
objdropDown.AutoPostBack = true;                                
//objdropDown.AutoPostBack = true;
//objdropDown.SelectedIndexChanged += new EventHandler(objdropDown_SelectedIndexChanged);

protected void objdropDown_SelectedIndexChanged(object sender, EventArgs e)
{
    //My code here
}

ドロップダウン リストからランダムなアイテムを選択した後、ポストバックしますが、ドロップダウン コントロールは表示されません。ここで何が間違っていますか?コードが役立ちます。ありがとう!

4

4 に答える 4

2

コードはコード ビハインドで生成されるため、毎回 (おそらく Page_Load で) 明示的に再作成しない限り、ポストバック間で保持されません。ただし、選択したアイテムを追跡し、ポストバックで再生成するたびに選択済みとして設定する必要がある場合があります。

于 2011-09-21T11:59:26.940 に答える
2

ドロップダウン リストを作成し、pageInit で早い段階でイベントをバインドする必要があります。その後、ポストバック プロセスに参加し、selectedindexchange のイベントを発生させることができます。

ポストバック処理が既に発生しているため、PageLoad が遅すぎます。これを見てください:http://msdn.microsoft.com/en-us/library/ms178472.aspx

于 2011-09-21T13:29:02.737 に答える
0

新しく作成されたDropDownListをページ上の親コンテナに追加し、その可視性を表示に設定しましたか?

于 2011-09-21T11:56:05.470 に答える
0

私はこれと同じ問題を抱えており、私の解決策を他の人に共有したかっただけです. 確認してください

  • ドロップダウン コントロール ID は、すべてのポスト バックで同じです (これを安全側に設定することをお勧めします)。
  • page_Init イベントで動的ドロップダウンを作成します。

私の問題は、ポストバック後に変更される動的コントロール ID に関連しています。コントロール ID がすべてのポストバックで同じであることを確認したら、問題は解決しました。

于 2013-03-04T11:16:19.707 に答える