繁体   English   中英

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

[英]Access Master Page public method from user control/class/page

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

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

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

要访问母版页:

this.Page.Master

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

页面应包含下一个标记:

<%@ 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 = ...;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM