Masterpage.cs 无法识别带有runat=server
例如在 Masterpage 中:
<input type="checkbox" runat="server" id="ckb" />
使用时在代码隐藏中给出以下错误ckb
当前上下文中不存在名称“ckb”
更新输入在<HeaderTemplate>
中继器内
我怎样才能找到他并改变他的属性?
Masterpage.cs 无法识别带有runat=server
例如在 Masterpage 中:
<input type="checkbox" runat="server" id="ckb" />
使用时在代码隐藏中给出以下错误ckb
当前上下文中不存在名称“ckb”
更新输入在<HeaderTemplate>
中继器内
我怎样才能找到他并改变他的属性?
如果您在Template
基于控件(例如 a <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
会在后面的代码中识别。