ダイナミック制御:私はASP.NETで動的にコントロールの作成、テキストのこの作品について読ん作成
は私が宣言ボタンを作成 例でそれを試してみたかった...自動ですしかし、いくつかのチェックボックスをチェックしてボタンを押すと、ポストバックの後にすべてのチェックボックス の状態が消去されます。つまり、ASP.NETはダイナミックコントロール のビューステートを自動的に管理しません。私は、チェックボックスのそれぞれにビューの状態を有効にしようとしましたが、ページ全体では が動作しません。 説明できる人: 1.なぜそうですか? 2.これを避けるには?...ダイナミックコントロールを使用している場合、あなたは は、彼らが唯一の次のポストバックまで を存在することを覚えておく必要があります。 ASP.NET は、動的に追加された コントロールを再作成しません。 コントロールを複数回再作成する必要がある場合は、 Page.Loadイベントハンドラで コントロールを作成する必要があります。これには、 コントロールの コントロールで ビューステートを使用できるという追加の利点があります。ビューステートが 通常、あなたがPage.Loadイベントの ハンドラでコントロールを作成する場合、 ASP.NETはそれが 後に持っている任意のビューステート 情報が適用され、Page.Load イベントの前に復元されていてもPage.Loadイベントハンドラが終了します。
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
と動的にコード5つのチェックボックスの後ろに - -
protected void Page_Load(object sender, EventArgs e) { for (int i = 0; i <= 5; i++) { var chBox = new HtmlInputCheckBox(); Controls.Add(chBox); } }
この プロセスは
こんにちは。私のコメントの更新されたコードを参照してください、それがうまくいきます。そうでない場合は、私にコメントを書いてください。私が助けることができるかどうかがわかります。 – Kirtan