我必须在绑定到母版页的aspx页面中找到Control
。
母版页包含:
<asp:ContentPlaceHolder ID="MainContent" runat="server"/>
内容页面包含:
<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
</asp:Content>
我添加Table
ID
formtable
作为Content2
的孩子。
我尝试使用以下代码访问Table
,但代码返回null
:
protected void Ok_Click(object sender, EventArgs e)
{
Table tblForm = this.FindControl("MainContent").FindControl("formtable") as Table;
}
如何访问Table
?
答案 0 :(得分:29)
试试这个
Table tblForm = this.Master.FindControl("MainContent").FindControl("formtable") as Table;
答案 1 :(得分:1)
使用findControl()有时会引起并发症。 在母版页中为该控件定义公共属性,然后通过属性访问控件更容易。
你应该在子页面中添加这一行:
<%@ MasterType VirtualPath="~/MasterPage.master" %>
答案 2 :(得分:0)
当你尝试这样做时,你在什么背景下?你是个人页面的代码隐藏吗?
如果你是,那应该是Content1.FindControl("formtable") as Table
,那就是它。