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
?
A master page is an ASP.NET file with the extension . master (for example, MySite. master) with a predefined layout that can include static text, HTML elements, and server controls.
add to the div in the master page the attribute: runat="server" and then in the content page write the following code to access the div: Control c= this. Master. FindControl("masterDiv");// "masterDiv"= the Id of the div.
To access members of a specific master page from a content page, you can create a strongly typed reference to the master page by creating a @ MasterType directive. The directive allows you to point to a specific master page. When the page creates its Master property, the property is typed to the referenced master page.
Try this
Table tblForm = this.Master.FindControl("MainContent").FindControl("formtable") as Table;
Checkout this Control ID Naming in Content Pages for more details
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With