Click here to Skip to main content
15,881,803 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Help Pls

You are creating an ASP.NET Web site. The site has a master page named Custom.master. The code-behind
file for Custom.master contains the following code segment. public partial class CustomMaster : MasterPage {
public string Region
{
get; set;
}
protected void Page_Load(object sender, EventArgs e)
{}}
You create a new ASP.NET page and specify Custom.master as its master page.
You add a Label control named lblRegion to the new page.
You need to display the value of the master page's Region property in lblRegion.
What should you do?
A. Add the following code segment to the Page_Load method of the page code-behind file.
CustomMaster custom = this.Parent as CustomMaster;
lblRegion.Text = custom.Region;
B. Add the following code segment to the Page_Load method of the page code-behind file.
CustomMaster custom = this.Master as CustomMaster;
lblRegion.Text = custom.Region;
C. Add the following code segment to the Page_Load method of the Custom.Master.cs code-behind file.
Label lblRegion = Page.FindControl("lblRegion") as Label; lblRegion.Text = this.Region;
D. Add the following code segment to the Page_Load method of the Custom.Master.cs code-behind file.
Label lblRegion = Master.FindControl("lblRegion") as Label; lblRegion.Text = this.Region;

Which is the correct one?.
I have confusion between A & B
Posted

1 solution

The right answer is B because this.Master would give you access to the master page whereas this.Parent would give you access to the parent class of the page which would be System.Web.UI.Control (i think). To access whats defined in Master page this.Master is used.
 
Share this answer
 
Comments
Tejal S 9-Jan-13 6:52am    
Thank You sir :)
I.explore.code 9-Jan-13 7:15am    
cheers!

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900