Asp.Net母版頁的相關知識
母版頁的使用與普通頁面類似,可以在其中放置文件或者圖形、任何的HTML控件和Web控件,后置代碼等。母版頁的擴展名以.master結尾,不能被瀏覽器直接查看。母版頁必須在被其他頁面使用后才能進行顯示。
它的使用跟普通的頁面一樣,可以可視化的設計,也可以編寫后置代碼。與普通頁面不一樣的是,它可以包含ContentPlaceHolder控件,ContentPlaceHolder控件就是可以顯示內容頁面的區域。
母版頁僅僅是一個頁面模板,單獨的母版頁是不能被用戶所訪問的。單獨的內容頁也不能夠使用。母版頁和內容頁有著嚴格對應關系。母版頁中包含多少個ContentPlaceHolder控件,那么內容頁中也必須設置與其相對應的Content控件。當客戶端瀏覽器向服務器發出請求,要求瀏覽某個內容頁面時,引擎將同時執行內容頁和母版頁的代碼,并將最終結果發送給客戶端瀏覽器。
母版頁具有下面的優點:
使用母版頁可以集中處理頁的通用功能,以便可以只在一個位置上進行更新。 使用母版頁可以方便地創建一組控件和代碼,并將結果應用于一組頁。例如,可以在母版頁上使用控件來創建一個應用于所有頁的菜單。 通過允許控制占位符控件的呈現方式,母版頁使您可以在細節上控制最終頁的布局。 母版頁提供一個對象模型,使用該對象模型可以從各個內容頁自定義母版頁。示例代碼:
<%@ Master Language=”C#” AutoEventWireup=”true” CodeFile=”MasterPage.master.cs” Inherits=”MasterPage” %>……<form id=”form1″ runat=”server”><div><asp:contentplaceholder id=”ContentPlaceHolder1″ runat=”server”></asp:contentplaceholder></div></form>……
注意:
1、這里的聲明指示符是“<%@ Master…%>”
2、其內部包含<asp:contentplaceholder……>控件
內容頁(擴展名是.aspx)
在建立內容頁面的時候,在“添加新項”對話框中要選中“選擇母版頁”復選框。這樣建立的頁面就是內容頁面,內容頁面在顯示的時候會把母版面的內容一起以水印淡化的形式顯示出來,而在母版頁中的ContentPlaceHolder控件區域會被內容頁面中的Content控件替換,程序員可以在這里編寫內容頁面中的內容。
代碼如下:
<%@ Page Language=”C#” MasterPageFile=”~/MasterPage/MP.master” AutoEventWireup=”true” CodeFile=”Show1.aspx.cs” Inherits=”MasterPage_Show1″ Title=”Untitled Page” %><asp:Content ID=”Content1″ ContentPlaceHolderID=”ContentPlaceHolder1″ Runat=”Server”></asp:Content>
注意:
1、這里的聲明指示符中多了一項MasterPageFile=”~/MasterPage/MP.master”,這一項是在創建內容頁面時根據“選擇母版頁”復選框的選中情況生成的。它指明了該頁是內容頁面,也指明了該內容頁面的母版頁是哪個頁面。
新聞熱點
疑難解答
圖片精選