如何从aspx页面引用母版页?

时间:2009-05-27 19:44:55

标签: asp.net master-pages

如何从ASP.NET webform引用母版页?以下声明不起作用:

this.MasterPage.Page.Title = "My Title";

5 个答案:

答案 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概念,因为我认为它可能更合适。由于您是从它派生的,因此可以在您的代码隐藏中访问其所有成员。