我有一个BasePage
which 继承自System.Web.UI.Page
,并且每个继承 的页面都BasePage
将具有相同的母版页。
如何将Page.Master
的BasePage
转换为特定母版页,以便可以访问其上的属性?
我有一个BasePage
which 继承自System.Web.UI.Page
,并且每个继承 的页面都BasePage
将具有相同的母版页。
如何将Page.Master
的BasePage
转换为特定母版页,以便可以访问其上的属性?
更好的方法是将 MasterType 属性添加到使用该母版的页面。然后,您可以通过页面对象简单地访问母版页属性。
<%@ MasterType VirtualPath="~/site.master" %>
您只需在代码中使用它:
this.Master.propertyName
访问当前页面的母版页属性。
无法完成覆盖的 Master(它不是 Virtual),并且用 new 掩盖它会导致页面类无法获取其 master 的问题,因此最好的办法是第二个属性。
就像是:
public CustomMasterPage MasterPage
{
get { return this.Master as CustomMasterPage; }
}
在您的 BasePage 类中。
在 VB.Net
MasterPageVariable = Ctype(page.MasterPage, MasterPageClass)