从用户控件/类/页面访问母版页公共方法

我要在我的母版页上访问一个方法。 我有一个错误标签,我想根据我从我的网站收到的错误消息更新。

public string ErrorText { get { return this.infoLabel.Text; } set { this.infoLabel.Text = value; } } 

如何从我设置的用户控件或类中访问它?

页面应包含下一个标记:

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

然后Page.Master将不具有MasterPage类型,而是您的母版页类型,即:

 public partial class MySiteMaster : MasterPage { public string ErrorText { get; set; } } 

页面代码隐藏:

 this.Master.ErrorText = ...; 

其他方式:

 public interface IMyMasterPage { string ErrorText { get; set; } } 

(把它放到App_Code或更好 – 进入类库)

 public partial class MySiteMaster : MasterPage, IMyMasterPage { } 

用法:

 ((IMyMasterPage )this.Page.Master).ErrorText = ...; 

要访问母版页:

 this.Page.Master 

那么您可能需要转换为母版页的实际类型,以便您可以获取ErrorText属性或使您的母版页实现包含此属性的接口。