私が作成しました
<input type="checkbox" id="test" >
リテラルを使用。今、私はこのコントロールを取得したいので、チェックされているかどうかを確認できます。aspx.cs ページでこのコントロールを見つけるにはどうすればよいですか?
私が作成しました
<input type="checkbox" id="test" >
リテラルを使用。今、私はこのコントロールを取得したいので、チェックされているかどうかを確認できます。aspx.cs ページでこのコントロールを見つけるにはどうすればよいですか?
コード ビハインド ファイルの制御を見つけたい場合は、これを runat="server" として設定する必要があります。
literal.text = "<input type=\"checkbox\" id=\"forum1\" runat=\"server\">";
HtmlInputCheckBox test = (HtmlInputCheckBox) Page.FindControl("test");
ただし、ページがポストバックされるたびに、このコントロールの状態が失われます。
これで正しい解決策が得られるかもしれません http://www.codeasp.net/blogs/SumitArora/microsoft-net/841/value-of-dynamic-textbox-lost-on-postback
ページ初期化イベントを使用してコントロールを生成できます
protected override void OnInit(EventArgs e)
{
HtmlInputCheckbox test = new HtmlInputCheckbox ();
test.id= "test";
pnlControl.Controls.Add(test);
base.OnInit(e);
}
プログラムでリテラルとして作成した場合、FindControl を使用して検索することはできません。フォームがポストバックされると、次のようにフォーム コレクションを使用して、値がポストバックされたかどうかを確認できます。
Request.Form["test"]
また
Request["test"]
ユーザーがチェックボックスをオンにしない場合、フォームの値は存在しません。これは、隠しフィールドを使用して回避するものです。
HTH。
FindControlを使用して、idパラメーターを指定したサーバーコントロールを検索します。
Control ctrl = FindControl("TextBox1");
試す
Page.Controls.FindControl()
また
Page.YourFormNameHEre.Controls.FindControl()