0

Masterpage.csは次のHTMLタグを認識しませんrunat=server

例:マスターページ:

 <input type="checkbox" runat="server" id="ckb" />

使用時にコードビハインドで次のエラーが発生しますckb

名前'ckb'は現在のコンテキストに存在しません

<HeaderTemplate>入力がリピーターの内部にあることを更新します

どうすれば彼に連絡して彼の属性を変更できますか?

4

2 に答える 2

1

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");
  }
}
于 2012-07-31T16:00:20.753 に答える
0

あなたidがコントロールを与えたのはckb、ではなくcheckAllです。

ckb背後のコードで認識されます。

于 2012-07-31T15:54:15.447 に答える