中文(繁体)
中文(简体)
中文(繁体)
한국어
日本語
English
Português
Español
Русский
العربية
Indonesia
Deutsch
Français
ภาษาไทย
網站地圖大全
最新更新
首頁
源碼下載
編程相關
建站資源
網頁設計教程
網絡編程教程
首頁
>
網絡編程教程
>
ASP.NET教程
ASP.NET 2.0 中的母版頁詳解
作者:Eve Cole
更新時間:2009-06-30 16:37:05
為了減少在網頁設計時出現的變一頁則動全站的問題,vs2003升級到vs2005後增加了母版的概念。
你可以把它想像成為“網頁模版”,與之不同的是,再也不必每個頁面都去更新了,修改一次,所有的網頁都會改變,做到了一勞永逸。
下面先進行一個簡單的母版使用示範:
1.先開啟visual studio 2005,新建一個asp.net網站,檔案系統,C#。
2、在解決方案資源管理器中,右鍵新建一個新項目:
3、選擇母版頁:
4.打開MasterPage.master,裡面有一個contentplaceholder控件,注意不要控件裡面寫什麼東西。
我們轉到設計視圖,在這個控制項外面加上header和footer 兩個文字。
5.儲存後我們就可以用它來做其它頁面了。有兩種方法,1是在母版頁任意位置右鍵,點擊新增內容頁;2 是在解決方案資源管理器上新建新項,在產生aspx頁面時勾選“選擇母版頁”
6、選擇對應的母版頁
7.在新生成的頁面原始碼只有這幾句:
<%@PageLanguage="C#"MasterPageFile="~/MasterPage.master"AutoEventWireup="true"
CodeFile="Default2.aspx.cs"Inherits="Default2"Title="UntitledPage"%>
<asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
</asp:Content>
我們可以看到一個content控件,這個東西對應母版頁的ContentPlaceHolder1控件,轉換到視圖頁面:
8.其中頁頭和頁腳的文字都是灰色的,我們只能在content中編輯。
儲存後造訪default2.aspx這個頁面,F5.,我們看到頁面:
9.和想像的一樣吧,我們再來看看原始碼:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www .w3.org/1999/xhtml">
<head><title>
UntitledPage
</title></head>
<body>
<formname="aspnetForm ">
<div>
<inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"
value="/wEPDwULLTEwMDUyNjYzMjhkZASHJAhe9XmxUHPbOeONMX2y6XYi"/>
</div>
<div>
thisisthepage'sheader
<br/> >
<div>
thisisthepage'sheader<br/>
</form>
</body>
</html>
母版內容是放在一個div中的,而content頁面並沒有放在單獨的div,就是說在母版不會為子頁添加任何的多餘程式碼。這就為我們程式設計和網頁佈局帶來了很大的彈性,我們可以充分利用CSS+DIV的形式定位,也可以用table方式進行定位。修改時也不必每個頁面都去修改。
10.對於不是一塊固定內容的母版,我們可以用多個ContentPlaceHolder1來進行佈局,下面的例子是用table來定位的:
11.對應的子頁面會有兩個content:
產生的程式碼:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www .w3.org/1999/xhtml">
<head><title>
UntitledPage
</title></head>
<body>
<formname="aspnetForm ">
<div>
<inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"
value
="/
wEPDwUKMTY1NDU2MTA1MmRkPjWLPyqA5JXcW5ivHc0NiYajQTU
="
/
>
</div>
<div>
thisisthepage'sheader
<br/>
>>>>>
<td>
himyContent2
</td>
</tr>
<
/table>
thisisthepage'sfooter
</div>
</form>
</body>
</html>
12.要靈活應用,CSS雖然也可以用DIV來解決這個問題,但是一些非標準控件的樣子是很難用CSS來控制的,如果你做了另外一套母版MasterPage2.master,你可在頁面中動態設定:
protected void Page_PreInit(object sender, EventArgs e)
{
MasterPageFile = "~/MasterPage2.master";
}
先到這裡,據說還可以嵌套應用,不過目前是夠用了,配合一下theme的使用,下次再說。
相關文章
asp.net常用程式碼
2009-07-01
ASP.NET頁面事件
2009-07-01
ASP.NET逾時設定
2009-06-30
asp.net1.1和asp.net 2.0共存
2009-06-30
ASP.NET無限分類
2009-06-30
ASP.NET 揭露ASP.NET頁面的架構
2009-06-30
安裝好.net之後如何運行asp.net程序
2009-06-30
Asp.Net函數集
2009-06-29
用.net開發asp元件
2009-06-25
關於ASP,ASP.NET,VB.NET裡的MD5加密函數
2009-06-25
ASP模仿asp.net的DataGrid
2009-06-24
ASP.NET與DreamweaverMx結合
2009-05-31