2013-07-24 120 views
0

有一些數據,如標題,標題等,在母版頁中。我想根據每個使用masterpage的頁面設置這些數據。爲此,我創建了一些屬性,如public string title {get; set;},並在主頁的PageLoad()中設置了默認值。頁面調用其母版的屬性和公共方法

但是,如何訪問這些屬性?據我所知,masterpage是一個爲每個pageload實例化的類,所以我需要找到它的對象來調用它的屬性。

我該怎麼做?

回答

3

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底部。

1

你應該把這個代碼在設計視圖(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" 
相關問題