文章轉自 http://wenku.baidu.com/link?url=7sLN0ihgZQ1XfX47b_y8qbpIVjS5T75Q1xvaoyIQ6OiKIgvzyVyRccnU9e9fqoOm4DBTxNyPPipgGlq8n5l4cePZngx1J-va9PNFmdRn2se
母版頁中ContentPlaceHolder控件的作用。當母版頁被一個頁面引用時,
頁面內容與母版頁上的ContentPlaceHolder控件合并,生成最終輸出。
ContentPlaceHolder控件的ID屬性與映射到引用頁面上一個類似的ID中。
當母版頁上有不止一個ContentPlaceHolder控件時,這種映射關系是很有用的。
可以在ContentPlaceHolder控件外添加任何HTML標記和任何其他控件。
告訴他們母版頁上的任何服務器端代碼都將在所有引用它的頁面上執行。
解釋ContentPlaceHolder控件的作用。每一個頁面自身特定的內容將被放置在ContentPlaceHolder控件內。
解釋內容頁的概念。結合下例解釋@Page指令及其屬性:
<%@PageLanguage="C#"MasterPageFile="~/MasterPages/Master1.master"%>
Language屬性定義使用的默認語言,而MasterPageFile屬性定義使用的母版文件的路徑。
解釋Content控件用于向內容頁添加特定于頁面的內容。所有特定于頁面的內容必須放置在Content控件里。
引用頁面的Content控件與母版頁的對應ContentPlaceHolder控件之間存在映射關系,這是通過映射它們的ID來實現的。
最后,結合以下示例解釋母版頁的ContentPlaceHolder控件與內容頁的Content控件之間的關系:
//MasterFile:A.Master
<%@Master%>
<asp:ContentPlaceHolderID= "topContent" runat= "server">
//ContentFile:A.aspx
<%@PageMaster= "A.Master"%>
<asp:ContentID= "Content1" ContentPlaceHolderID= "topContent" runat= "server">
--Somemarkup--
</asp:Content>
在內容文件(A.aspx)的樣本代碼中,<%@Page%>指令的master 屬性用于引用運行時內容文件將使用的母版文件。
母版文件(A.master)里ContentPlaceHolder控件的ID 屬性值與內容文件(A.aspx)里的ContentPlaceHolderID屬性值是一樣的。
運行時,當瀏覽器請求A.aspx時,那么這兩個屬性將會被映射,從而合并Content控件的內容與對應的ContentPlaceHolder控件。
新聞熱點
疑難解答