如何从ASP.NET webform引用母版页?以下声明不起作用:
this.MasterPage.Page.Title = "My Title";
答案 0 :(得分:8)
在你的aspx中,在Page指令下面写一下:
<%@ MasterType VirtualPath="YourMasterFile" %>
然后从你的代码中,写下Master。你想要使用的任何东西,例如:
Master.Title = "My Title";
答案 1 :(得分:2)
你必须将this.Master Page转换为你拥有的母版页类型,然后你可以按照你的期望访问它
var mp = this.MasterPage as MyMasterPageType;
mp.Property = value... etc
答案 2 :(得分:1)
在页面中,您可以使用Master
属性并将其强制转换为母版页。即(MyMasterPage)this.Master
。但是,每当我尝试这样做时,我总是先检查它是否可以先进行投射,所以我通常会得到类似......
MyMasterPage master;
if (this.Master is MyMasterPage)
{
master = (MyMasterPage)this.Master
//do stuff with master.
}
如果您只想更改标题,则可以使用Page.Title
并确保母版页中的head标记设置为runat ='server'。
答案 3 :(得分:0)
在你的代码中写:
Dim masterpage As New MasterPage
masterpage = CType(masterpage, MasterPage)
并在源代码中定义语言等,输入
MasterPageFile="~/MasterPage.master"
如果你用C#写作
MasterPage masterpage = new MasterPage();
masterpage = (MasterPage)masterpage;
答案 4 :(得分:0)
在您的初始问题(编辑之前)中,我认为您提到了“全局设置”。根据您的想法,您可能也想查看BasePage概念,因为我认为它可能更合适。由于您是从它派生的,因此可以在您的代码隐藏中访问其所有成员。