Masterpage.cs不识别带有runat=server的html标记
例如,在Masterpage中:
<input type="checkbox" runat="server" id="ckb" />给出使用ckb时代码隐藏中的折叠错误。
名称“ckb”在当前上下文中不存在
更新输入在中继器的<HeaderTemplate>内部
我怎么才能找到他并改变他的属性?
发布于 2012-07-31 16:00:20
如果您在基于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-31 15:54:15
您给出的控件id是ckb,而不是checkAll。
ckb将在后面的代码中被识别。
https://stackoverflow.com/questions/11744055
复制相似问题