運永順
摘 要:利用ASP.NET開發(fā)網(wǎng)站時,可以使用主題和CSS解決多個頁面批量布局的問題,用戶控件也可解決多個網(wǎng)頁局部內(nèi)容共享的問題。但對于布局和內(nèi)容等都相同或相似的多個頁面批量開發(fā)最好使用母版技術(shù)。
關鍵詞:ASP.NET;母版;網(wǎng)頁設計
通過制作網(wǎng)頁母版,可使多個網(wǎng)頁中布局和內(nèi)容都相同的網(wǎng)頁部分只制作一次即可,最終實現(xiàn)網(wǎng)頁的批量開發(fā)。ASP.NET母版技術(shù)涉及兩種網(wǎng)頁,即母版頁和內(nèi)容頁。使用母版頁可以為網(wǎng)站中的網(wǎng)頁創(chuàng)建一致的布局,母版頁也可以為網(wǎng)站中的所有頁(或一組頁)定義所需的外觀和標準行為。然后可以創(chuàng)建包含要顯示內(nèi)容的各個內(nèi)容頁。當用戶請求內(nèi)容頁時,這些內(nèi)容頁與母版頁合并,以將母版頁的布局與內(nèi)容頁的內(nèi)容組合在一起輸出。
1 母版頁
母版頁的文件擴展名為.master,它具有可以包括靜態(tài)文本、HTML元素和服務器控件的預定義布局。母版頁由特殊的@Master指令識別,該指令替換了用于普通.aspx頁的@Page指令。除在所有頁上顯示的文本和控件外,母版頁還包括一個或多個ContentPlaceHolder控件,這些占位符控件定義可替換內(nèi)容出現(xiàn)的區(qū)域。
2 內(nèi)容頁
通過創(chuàng)建各個內(nèi)容頁來定義母版頁占位符控件的內(nèi)容,這些內(nèi)容頁為綁定到特定母版頁的.aspx頁以及可選的代碼隱藏文件。通過包含指向要使用的母版頁的MasterPageFile 屬性,在內(nèi)容頁的@Page指令中建立綁定。例如,一個內(nèi)容頁綁定到母版頁Master1.master 的代碼示例為:<%@ Page MasterPageFile="~/MasterPages/Master1.master" %>
在內(nèi)容頁中,通過添加Content控件并將這些控件映射到母版頁上的ContentPlaceHolder控件來創(chuàng)建內(nèi)容,內(nèi)容頁中不應含有
等文檔結(jié)構(gòu)標記。3 創(chuàng)建母版頁和內(nèi)容頁
右擊要存放母版頁的文件夾,在彈出的快捷菜單中選擇“添加新項”命令,在彈出的對話框中選擇“母版頁”選項,輸入文件名后,單擊“添加”按鈕。
右擊要存放內(nèi)容頁的文件夾,在彈出的快捷菜單中選擇“添加新項”命令,在彈出的對話框中選擇“窗體頁”選項,輸入文件名后,選中 ,在彈出的對話框中選中要套用的母版文件,單擊“添加”按鈕。
4 嵌套的母版頁
母版頁可以嵌套,讓一個母版頁引用另外的頁作為其母版頁。利用嵌套的母版頁可以創(chuàng)建組件化的母版頁。與任何母版頁一樣,子母版頁也包含文件擴展名.master。子母版頁通常會包含一些內(nèi)容控件,這些控件將映射到父母版頁上的內(nèi)容占位符。就這方面而言,子母版頁的布局方式與所有內(nèi)容頁類似。但是,子母版頁還有自已的內(nèi)容占位符,可用于顯示其子頁提供的內(nèi)容。下面的3個頁清單演示了一個簡單的嵌套母版頁配置。
5 幾點說明
5.1 母版頁與主題
不能直接將主題應用于母版頁。但主題在下面這些情況中會應用于母版頁:
⑴如果主題是在內(nèi)容頁中定義的。母版頁在內(nèi)容頁的上下文中解析,因此內(nèi)容頁的主題也會應用于母版頁。
⑵如果通過在pages元素(ASP.NET設置架構(gòu))中包含主題定義來將整個站點配置為使用主題。
5.2 限定母版頁的范圍
⑴頁級:可以在每個內(nèi)容頁中使用頁指令來將內(nèi)容頁綁定到一個母版頁。
6 制作步驟
下面用實例說明母版技術(shù)的應用,若要做如下三圖效果,步驟如下:
⑴創(chuàng)建母版頁。打開該網(wǎng)站,右擊根文件夾,在彈出的快捷菜單中選擇“添加新項”命令,在彈出的對話框中選擇“母版頁”選項,輸入文件名themefilemaster.master,在代碼視圖中輸入用于布局的div層標記,各層嵌套關系如圖4所示。
同理,編寫出另外兩個主題下的CSS文件和皮膚文件。修改相應顏色為粉紅色系和菊黃色系。最后可查看效果。
以上簡述了ASP.NET技術(shù)中母版技術(shù)的應用,母版中的程序代碼同普通網(wǎng)頁一樣。