Question

If the master page has a label with the id label1 how do I control that id in the content page. The id is not passed down so i can't control it inherently. For example if i have a control with the id contentLabel i can access it code by just typing contentLabel.(whatever i'm doing)

Was it helpful?

Solution

Here are two options:

1: make sure your content aspx specifies MasterType:    

<%@ MasterType VirtualPath="~/yourMasterPageName.master" %>

Doing this lets your content page know what to expect from your master-page and gives you intellisense. So, now you can go ahead and expose the label's Text property on the master page's code-behind.

public string ContentLabelText
{
    get { return contentLabel.Text; }
    set { contentLabel.Text = value; }
}

Then you can access it in your content page's code-behind page ala:

Master.ContentLabelText = "hah!";

or, 2: You can access the label via FindControl() like so:

var contentLabel = Master.FindControl("contentLabel") as Label;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top