母版頁,實質爲完整的.aspx的Web窗體,再窗體中含有幾個佔位控件。在調用的母版頁的子頁中,我們可以編輯佔位控件的內容,編輯完成後將兩個頁面進行合併(由IIS完成):
合併效果:
母版頁中有Holder_3,但是在子頁中沒有編輯,,因此合併後最終沒有Holder_3控件;
母版頁中的普通內容(控件或標籤)在合併後不發生改變;
IIS在工作過程中,不會調用母版頁,只會調用子頁名,但是在調用子頁名時,會自動調用母版頁;
IIs首先編譯子頁,然後編譯相關母版頁並將子頁嵌入母版頁之中形成合並頁面,並將合併完的頁面發回瀏覽器;
金黃色爲母版頁的層,全部在母版頁中進行編輯,紅色爲母版頁爲子頁提供的佔位控件(在子頁中進行編輯);
創建母版頁:
母版頁擴展名爲.master,頁面結構中多幾個控件標籤:
注意藍色區域(佔位控件)的作用,子頁中在head中會定義一些Css,JavaScript等相關的內容,這些內容定義後會被嵌套在藍色區域的位置;
在body主體中的佔位控件,這個標籤之間用於包含在子頁中編輯的內容;
接下來爲母版頁創建一個子頁:
選擇Web窗體:
注意勾選複選框:
點擊添加按鈕後,彈出對話框,讓你選擇添加的母版頁:
選擇目標母版頁,點擊確定即可;
新建立的子頁中有兩個content標籤:
注意母版頁與子頁名字要對應:
母版頁:
新建的子頁:
母版頁的內容我們無法在子頁中直接編輯;
注意,我們在母版頁中加入<p>第一行</p>標籤,在子頁中加入如下內容:
運行效果:
子頁源文件:
注意:
此時運行頁面的地址爲:
源代碼的地址爲:
兩個地址均爲子頁面的地址,看不到模板頁被調用;
發現子頁中的內容被嵌套在藍色區域,母版頁中的內容也被顯示,且看不到母版頁被調用的痕跡:
下列爲運行頁面的源代碼:
新的佈局:
首先在母版頁中進行佈局:
此時,頁面的佈局:
通過Css對頁面進行控制:
注意:要對clr進行樣式控制,否則運行效果會出現問題;
爲了使main中的左右浮動不對下面產生影響,添加清除浮動層:
更正一下ID:
運行效果:
接下來晚上母版頁:
預覽效果:
點線點到了元素上面,要改正;