母版页中有一些数据,如标题、标题等。我想根据使用母版页的每个页面设置这些数据。
为此,我创建了一些属性,例如public string title {get; set;}
, 并在 masterpages 的 PageLoad() 中设置默认值。
但是,我怎样才能访问这些属性?据我了解,masterpage 是一个为每个页面加载实例化的类,所以我需要找到它的对象来调用它的属性。
我怎样才能做到这一点?
母版页中有一些数据,如标题、标题等。我想根据使用母版页的每个页面设置这些数据。
为此,我创建了一些属性,例如public string title {get; set;}
, 并在 masterpages 的 PageLoad() 中设置默认值。
但是,我怎样才能访问这些属性?据我了解,masterpage 是一个为每个页面加载实例化的类,所以我需要找到它的对象来调用它的属性。
我怎样才能做到这一点?
Page.Master
指当前页面的MasterPage。您可以将其转换为相关类型并以这种方式访问属性。在母版页中:
<%@ Master Language="C#" ClassName="MasterExample" %>
<script runat="server">
public string SiteName
{
get { return "My Site Name"; }
}
</script>
然后,在页面中:
protected void Page_Load(object sender, EventArgs e)
{
MasterExample m = (MasterExample)Page.Master;
mylabel.Text = m.SiteName;
}
请参阅http://msdn.microsoft.com/en-us/library/system.web.ui.masterpage(v=vs.110).aspx的底部。
您应该将此代码放在设计视图中(在 html 中)
<%@ MasterType VirtualPath="~/NameOfMasterPage.Master" %>
在下面
<%@ Page Title="Home Page" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
CodeBehind="default.aspx.cs" Inherits="MOCKUPPROJECT._Default" EnableEventValidation="false" %>
现在您可以更改它的属性
Master.MasterContentHolderPage="some values"