Masterpage.cs无法识别runat=server
例如在Masterpage中:
<input type="checkbox" runat="server" id="ckb" />
在使用ckb
当前上下文中不存在名称“ckb”
更新输入位于转发器的<HeaderTemplate>
内
我怎样才能找到他并改变他的属性?
答案 0 :(得分: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");
}
}
答案 1 :(得分:0)
您提供控件的id
为ckb
,而不是checkAll
。
ckb
将在后面的代码中被识别。