Masterpage.csは次のHTMLタグを認識しませんrunat=server
例:マスターページ:
<input type="checkbox" runat="server" id="ckb" />
使用時にコードビハインドで次のエラーが発生しますckb
名前'ckb'は現在のコンテキストに存在しません
<HeaderTemplate>
入力がリピーターの内部にあることを更新します
どうすれば彼に連絡して彼の属性を変更できますか?
Masterpage.csは次のHTMLタグを認識しませんrunat=server
例:マスターページ:
<input type="checkbox" runat="server" id="ckb" />
使用時にコードビハインドで次のエラーが発生しますckb
名前'ckb'は現在のコンテキストに存在しません
<HeaderTemplate>
入力がリピーターの内部にあることを更新します
どうすれば彼に連絡して彼の属性を変更できますか?
Template
ベースのコントロール(など)内でコントロールを使用している場合<asp:Repeater>
、ページ/ユーザーコントロール/マスターページに直接配置されているコントロールのように、コントロールに直接アクセスすることはできません。
FindControl
代わりに、テンプレートコントロール自体でを使用する必要があります。
たとえば、ItemDataBind
イベントハンドラーを設定すると、次のように実行できます...
protected void repeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Header)
{
HtmlInputCheckBox chk = (HtmlInputCheckBox)e.Item.FindControl("chk");
}
}
あなたid
がコントロールを与えたのはckb
、ではなくcheckAll
です。
ckb
背後のコードで認識されます。