私にはテーブルがあり、処理する行を選択できるようにする必要があります。私はテーブルにチェックボックスの列を追加する方法を考え出しましたが、フォームの送信時にチェックされているかどうかをテストする方法を見つけることができません。静的要素の場合は、this.theCheckBox
を確認するだけで、プログラムで生成されます。ASP.NETのチェックボックスのリストをプログラムで作成して使用するにはどうすればよいですか?
また、私は自分のデータを(IDプロパティに詰め込んで)どのように付けているのかよく分かりません。
私はそれが関連するかどうか分からないが、私は、私は再実行する前にチェックした周り前回作成されたチェックボックスのどの知られている必要があるように私がキャッチ22のビットで探していますそれらを作成したコード
編集:私はほとんど解決策を見つけた 。 AutoPostBack
財産とCheckedChanged
イベントを設定することにより:
checkbox.AutoPostBack = false;
checkbox.CheckedChanged += new EventHandler(checkbox_CheckedChanged);
私は戻って変更されているすべてのチェックボックスのポストに呼ばれるようにコードを取得することができます。しかし、これには2つの問題がある:
私はこの情報Page_Load
たチェックボックスのために呼び出されていない-
ページが読み込まれているときにチェックされます。
編集2:
の上部にある既知のプレフィックスと詰め物これですべての私のIDをタグ付けされた私は何をやってしまった:
foreach (string v in this.Request.Form.AllKeys)
{
if (v.StartsWith(Prefix))
{
var data = v.Substring(Prefix.Length);
}
}
他のすべて遅くまで走っているようだ。
私は 'runat'を設定する方法を見つけることができません。 'CheckBox() 'を使ってチェックボックスを' Form_Load'内で生成するだけで、タグに編集することはできません – BCS
コントロールが動的に追加され、ASPコントロールなので、runatを設定する必要はありません属性。コントロールのすべての属性を正しく設定し、イベントハンドラを追加すると、デザイン時に追加された他のコントロールと同じように機能します。追加されたチェックボックスの数がわかっていれば、ループを実行してIDを構築することで@DavidのFindControlメソッドを使用できますが、複数のコントロールを扱うときに親コンテナを直接ループするよりも効率が悪いです。 –
私はチェックしていませんが、再生した後にしか見つからないという問題を抱えていると思われます。 – BCS