有一些數據,如標題,標題等,在母版頁中。我想根據每個使用masterpage的頁面設置這些數據。爲此,我創建了一些屬性,如public string title {get; set;}
,並在主頁的PageLoad()中設置了默認值。頁面調用其母版的屬性和公共方法
但是,如何訪問這些屬性?據我所知,masterpage是一個爲每個pageload實例化的類,所以我需要找到它的對象來調用它的屬性。
我該怎麼做?
有一些數據,如標題,標題等,在母版頁中。我想根據每個使用masterpage的頁面設置這些數據。爲此,我創建了一些屬性,如public string title {get; set;}
,並在主頁的PageLoad()中設置了默認值。頁面調用其母版的屬性和公共方法
但是,如何訪問這些屬性?據我所知,masterpage是一個爲每個pageload實例化的類,所以我需要找到它的對象來調用它的屬性。
我該怎麼做?
Page.Master
引用當前頁面的母版頁。您可以將其轉換爲相關類型並以此方式訪問該屬性。在母版頁:
<%@ 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"