I have a master page which contains a label for status messages. I need to set the status text from different .aspx pages. How can this be done from the content page?
public partial class Site : System.Web.UI.MasterPage { public string StatusNachricht { get { return lblStatus.Text; } set { lblStatus.Text = value; } } protected void Page_Load(object sender, EventArgs e) { } }
I have tried this, but was unsuccessful in making it work:
public partial class DatenAendern : System.Web.UI.Page { var master = Master as Site; protected void Page_Load(object sender, EventArgs e) { if (master != null) { master.setStatusLabel(""); } } protected void grdBenutzer_RowCommand(object sender, GridViewCommandEventArgs e) { try { //some code if (master != null) { master.setStatusLabel("Passwort erfolgreich geändert."); } } catch (Exception ex) { if (master != null) { master.setStatusLabel("Passwort konnte nicht geändert werden!"); } } } } }
To access the master page controls we need to use the Master key word then call the Property method of control. As we use Master. EnterNameTextBox() to access the master page EnterName textbox and Master. SendDataToContentPageButton() method is used to acees master page button.
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.
In the MasterPage.cs file add the property
of Label
like this:
public string ErrorMessage { get { return lblMessage.Text; } set { lblMessage.Text = value; } }
On your aspx
page, just below the Page Directive add this:
<%@ Page Title="" Language="C#" MasterPageFile="Master Path Name"..... %> <%@ MasterType VirtualPath="Master Path Name" %> // Add this
And in your codebehind(aspx.cs)
page you can then easily access the Label Property
and set its text
as required. Like this:
this.Master.ErrorMessage = "Your Error Message here";
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