Aladdin Gallas Aladdin Gallas - 2 months ago 15
ASP.NET (C#) Question

Find a control on a page with a master page

I have to find a

Control
in an aspx page bound to a master page.

The master page contains:

<asp:ContentPlaceHolder ID="MainContent" runat="server"/>


The content page contains:

<asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">
</asp:Content>


I added a
Table
with
ID
formtable
as a child of
Content2
.

I tried to use the following code to access the
Table
, but the code returns
null
:

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


How can I access the
Table
?

Answer

Try this

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

Checkout this Control ID Naming in Content Pages for more details