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?

Original source

Related problems