国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設計 > 正文

ASP.NET 2.0 中的母版頁詳解

2019-11-18 17:09:21
字體:
來源:轉載
供稿:網(wǎng)友
  為了減少在網(wǎng)頁設計時出現(xiàn)的變一頁則動全站的問題,vs2003升級到vs2005后增加了母版的概念。

  你可以把它想像成為“網(wǎng)頁模版”,與之不同的是,再也不必每個頁面都去更新了,修改一次,所有的網(wǎng)頁都會改變,做到了一勞永逸。

  下面先進行一個簡單的母版使用演示:

  1、首先打開visual studio 2005,新建一個asp.net網(wǎng)站,文件系統(tǒng),C#。

  2、在解決方案資源管理器中,右鍵新建一個新項:



  3、選擇母版頁:



  4、打開MasterPage.master,里面有一個contentplaceholder控件,注意不要控件里面寫什么東西。

  我們轉到設計視圖,在這個控件外面加上header和footer 兩句文本。



  5、保存后我們就可以用它來做其它頁面了。有兩種方法,1是在母版頁任意位置右鍵,點擊添加內(nèi)容頁;2 是在解決方案資源管理器上新建新項,在生成aspx頁面時勾選“選擇母版頁”



  6、選擇相應的母版頁



  7、在新生成的頁面源代碼只有這幾句:

 

  1. <%@PageLanguage="C#"MasterPageFile="~/MasterPage.master"AutoEventWireup="true"
      CodeFile="Default2.aspx.cs"Inherits="Default2"Title="UntitledPage"%>
  2. <asp:ContentID="Content1"ContentPlaceHolderID="ContentPlaceHolder1"Runat="Server">
  3. </asp:Content>

  我們可以看到一個content控件,這個東西對應母版頁的ContentPlaceHolder1控件,轉換到視圖頁面:



  8、其中頁頭和頁腳的文字都是灰色的,我們只能在 content中進行編輯。

  保存后訪問default2.aspx這個頁面,F(xiàn)5.,我們看到頁面:


  9、和想像的一樣吧,我們再來看看源代碼:

 

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head><title>
  4. UntitledPage
  5. </title></head>
  6. <body>
  7. <formname="aspnetForm"method="post"action="Default2.aspx"id="aspnetForm">
  8. <div>
  9. <inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"
       value="/wEPDwULLTEwMDUyNjYzMjhkZASHJAhe9XmxUHPbOeONMX2y6XYi"/>
  10. </div>
  11. <div>
  12. thisisthepage'sheader<br/>
  13. thispage'scontent:hello,world!<br/>
  14. thisisthepage'sfooter </div>
  15. </form>
  16. </body>
  17. </html>

  母版內(nèi)容是放在一個div中的,而content頁面并沒有放在單獨的div,就是說在母版不會給子頁添加任何的多余代碼。這就給我們編程和網(wǎng)頁布局帶來了很大的靈活性,我們可以充分利用CSS+DIV的形式定位,亦可以用table方式進行定位。修改時也不必每個頁面都去修改。

  10、對于不是一塊固定內(nèi)容的母版,我們可以用多個ContentPlaceHolder1來進行布局,下面的例子是用table來定位的:



  11、在相應的子頁面里會有兩個content:



  生成的代碼:

 

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head><title>
  4. UntitledPage
  5. </title></head>
  6. <body>
  7. <formname="aspnetForm"method="post"action="Default3.aspx"id="aspnetForm">
  8. <div>
  9. <inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"
      value="/wEPDwUKMTY1NDU2MTA1MmRkPjWLPyqA5JXcW5ivHc0NiYajQTU="/>
  10. </div>
  11. <div>
  12. thisisthepage'sheader<br/>
  13. <table>
  14. <tr>
  15. <td>
  16. ohmyContent1
  17. </td>
  18. <td>
  19. himyContent2
  20. </td>
  21. </tr>
  22. </table>
  23. thisisthepage'sfooter 
  24. </div>
  25. </form>
  26. </body>
  27. </html>

  12、要靈活應用,CSS雖然也可以用DIV來解決這個問題,但是一些非標準控件的樣子是很難用CSS來控制的,如果你做了另外一套母版MasterPage2.master,你可在頁面中動態(tài)設置:

 
PRotected void Page_PreInit(object sender, EventArgs e)
{
 MasterPageFile = "~/MasterPage2.master";
}

  先到這里,據(jù)說還可以嵌套應用,不過目前是夠用了,配合一下theme的使用,下次再說。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 西乌珠穆沁旗| 佛山市| 襄城县| 芜湖县| 留坝县| 广昌县| 新宾| 中卫市| 泰顺县| 绥江县| 杨浦区| 漳州市| 山阴县| 陇西县| 东山县| 长春市| 奈曼旗| 青河县| 乌审旗| 平顺县| 宜宾县| 淮南市| 新和县| 云霄县| 山阳县| 海伦市| 衡阳市| 家居| 淳化县| 夏河县| 岳池县| 溧阳市| 交口县| 衡东县| 杭锦旗| 磐石市| 宜春市| 登封市| 丹东市| 西乌珠穆沁旗| 安丘市|