Find a control on a page with a master page

Aladdin Gallas picture Aladdin Gallas · Sep 15, 2010 · Viewed 42k times · Source

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

Vinay B R picture Vinay B R · Sep 15, 2010

Try this

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

Checkout this Control ID Naming in Content Pages for more details