17

我必须Control在绑定到母版页的 aspx 页面中找到一个。

母版页包含:

<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>

我添加了一个TablewithID formtable作为Content2.

我尝试使用以下代码访问Table,但代码返回null

protected void Ok_Click(object sender, EventArgs e)
{
    Table tblForm = this.FindControl("MainContent").FindControl("formtable") as Table;                 
}

我怎样才能访问Table

4

3 回答 3

33

尝试这个

Table tblForm = this.Master.FindControl("MainContent").FindControl("formtable") as Table; 

在内容页面中查看此控件 ID 命名以获取更多详细信息

于 2010-09-15T18:38:48.227 回答
1

使用 findControl() 有时会导致并发症。更容易在母版页中为该控件定义公共属性,然后通过该属性进行访问控制。

你应该在子页面中添加这一行:

<%@ MasterType VirtualPath="~/MasterPage.master" %>
于 2016-09-18T11:29:28.193 回答
0

当您尝试执行此操作时,您处于什么环境中?您是否在单个页面的代码隐藏中?

如果你是它应该是Content1.FindControl("formtable") as Table,那就是它。

于 2010-09-15T18:36:31.053 回答