Asp.Net學習之-母板

來源:互聯網
上載者:User
所謂主版頁面(master page)就像是一個基類,它裡面可以定義好一些內容頁,就像是定義介面一樣,如果其他頁面引用了這個主版頁面,有點繼承的味道了,那麼這個新頁面的架構必定跟主版頁面一樣,而且它改寫了內容頁的話就等於是“重載了介面”介面一樣。
       
很多時候,我們的網站中有很多頁面可能含有一些公用的部分,比如說,msdn裡面的header和左邊的tree。說到這個,大家可能會馬上想到
iframe,嗯!但是iframe在解決各個頁面之間傳遞資訊會比較麻煩,究竟iframe有多煩,我一時間也說不出來,看完下面的例子你可能就會明白
了。
建立一個主版頁面,就像是普通的page一樣,不過不是webform,而是masterpage,比如是test.master。然後在主版頁面裡面加入公用的部分,例如隨便加入一些table之類的東西,當然最重要的加上1個或者n個內容頁了,否則就沒有意義了,
<asp:contentplaceholder id="Main" runat="server">XXXX</asp:contentplaceholder>
注意這個id很重要,因為等一下你改寫這個內容頁也是要對應這個id的,至此,主版頁面定義完成。然後就是應用主版頁面了。
建立一個webform,引用主版頁面
<%@ Page MasterPageFile="~/test.master" %>
當然還有兩種方法全域引用和動態引用,就是在web.confing裡面或者在後台代碼指定。
下一步是指定內容頁,
<asp:Content ContentPlaceHolderID="Main" RunAt="server">
  XXXXX
</asp:Content>
 如果想動態改變主版頁面的公用屬性,就直接調用Master.屬性=xxx。
是不是比iframe的頁面之間互相傳參簡單很多?
    當然,我最終的目的不是想說iframe將會給masterpage所替代,畢竟它們不是同一回事,很多地方用iframe更為方便,各有所長吧!

引用地址:http://guoxiaocong.cnblogs.com/archive/2005/08/31/226579.html

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.