0

webForm に asp.net と c# を使用しています。dropDownList を動的に生成していますが、このコントロールのイベントを実行できません。いくつかのコードの下:

DropDownList nuevoCmb = new DropDownList();
nuevoCmb.ID = "ddl" + num;
nuevoCmb.Items.Add("---Seleccione el Plazo---");
nuevoCmb.Items.Add("Corto Plazo");
nuevoCmb.SelectedIndex = 0;
nuevoCmb.AutoPostBack = true;
nuevoCmb.SelectedIndexChanged += new EventHandler(nuevoCmb_OnSelectedIndexChanged);
MainPanel.Controls.Add(nuevoCmb);

protected void nuevoCmb_OnSelectedIndexChanged(object sender, EventArgs e)
{
    string temp = "";
}
4

3 に答える 3

0

次のページで答えを見つけました: Creating Dynamic DropDownList Controls in ASP.Net

この例は完全に機能しますが、マスター ページを使用すると、asp html ページのみが機能しません。なにか提案を!

于 2013-02-11T12:41:20.800 に答える
0

コントロールを作成するコードを、ポストバックを含むすべてのページ リクエストに追加する必要があります。コントロールがポストバックを引き起こし、コントロールを再作成するコードが呼び出されない場合、イベント ハンドラーは起動しません。ページの読み込み中に同じ ID を持つコントロールが追加されると、.NET は最終的にイベント ハンドラーを呼び出します。

于 2013-02-07T20:03:45.967 に答える
0

Initページイベントの中または前に、動的に追加されるコントロールを追加する必要があります。Loadページイベント中に追加した場合にも機能します。イベントの後、Loadカスタム コントロール イベントがバブルアップして発火します。したがって、コントロールを動的に追加する場合はLoad、遅くともページ イベントが終了する前に読み込まれる各ポスト バックにコントロールを追加する必要があります。

于 2013-02-07T20:04:55.463 に答える