Access Master Page public method from user control/class/page
.net, asp.net, c#, master-pages, user-controls
Solution
Page should contain next markup:
<%@ MasterType VirtualPath="~/Site.master" %>
then `Page.Master` will have not a type of `MasterPage` but your master page's type, i.e.:
public partial class MySiteMaster : MasterPage
{
public string ErrorText { get; set; }
}
Page code-behind:
this.Master.ErrorText = ...;
Another way:
public interface IMyMasterPage
{
string ErrorText { get; set; }
}
(put it to App_Code or better - into class library)
public partial class MySiteMaster : MasterPage, IMyMasterPage { }
Usage:
((IMyMasterPage )this.Page.Master).ErrorText = ...;
Problem
I am to access a method on my master page. I have an error label which I want to update based on error messages I get from my site. ``` public string ErrorText { get { return this.infoLabel.Text; } set { this.infoLabel.Text = value; } } ``` How can I access this from my user control or classes that I set up?