母版頁與內容頁是如何融合在一起?
母版頁建立一個布局并包含一個或多個用于可替換文本和控件的ContentPlaceHolder控件。內容頁只包含在運行時與母版頁的ContentPlaceHolder控件合并在一起的文本和控件。有關更多信息,請參見ASP.NET母版頁概述。
VisualWebDeveloper提供了多種創建內容頁的方式,包括在編輯母版頁時所用到的快捷方式。此外,還可以從空白頁開始并添加適當的指令來創建內容頁。
在創建內容頁后,可以創建與母版頁上的每個ContentPlaceHolder相對應的自定義內容。此外,還可以顯式選擇允許顯示母版頁的默認內容。
在VisualWebDeveloper中添加內容頁在解決方案資源管理器中,右鍵單擊網站的名稱,再單擊“添加新項”。
在“VisualStudio已安裝的模板”列表中單擊“Web窗體”。選擇“選擇母版頁”復選框,再單擊“添加”?!斑x擇母版頁”對話框出現。
在“文件夾內容”框中單擊要與所創建的頁相關聯的母版頁,再單擊“確定”。
在編輯母版頁時創建內容頁在編輯器中打開母版頁后,右鍵單擊該頁上的任意位置,再單擊“添加內容頁”。
VisualWebDeveloper隨即會創建一個名為Defaultx.aspx的新內容頁,其中x是序列號。注意若要向該內容頁指定其他名稱,請在解決方案資源管理器中右鍵單擊該默認名稱,然后單擊“重命名”。以聲明方式創建內容頁創建一個新的ASP.NET網頁。切換到“源”視圖。移除該頁中除@Page指令之外的所有內容。
將引用母版頁的MasterPageFile屬性添加到@Page指令中,如下面的代碼示例所示。VisualBasicC#注意@?
?Page指令可能包含其他屬性,如CodeFile和Inherits,此處未顯示這些屬性。
將與母版頁上的ContentPlaceHolder控件相對應的Content控件添加到該頁上。注意內容頁只能包含@Page指令和Content控件。
在HTML設計器中創建內容當在VisualWebDeveloper中創建內容頁時,默認情況下該設計器為母版頁中定義的每個ContentPlaceHolder控件分別創建一個Content控件。
可以將自定義內容添加到每個Content控件中或將其顯式轉換為母版頁中定義的默認內容(如果有的話)。
在“設計”視圖中向該頁添加內容在“設計”視圖中,將控件或元素拖到Content控件上或單擊該控件并開始鍵入內容。
在“設計”視圖中顯示默認母版頁內容右鍵單擊Content控件,再單擊“顯示智能標記”。單擊“默認為母版頁的內容”。
VisualWebDeveloper隨即顯示包含母版頁中定義的默認內容的Content控件。
Content控件的標題欄包含“(母版頁)”術語以指示該控件顯示的是母版頁而不是內容頁的信息。
在此模式下,不能編輯Content控件中顯示的內容。
若要創建自定義內容,請右鍵單擊該控件,單擊“顯示智能標記”,再單擊“創建自定義控件”以將控件重新置于編輯模式下。