Asp.net1.X Masterpages的使用

來源:互聯網
上載者:User
    為什麼使用主版頁面?

§         用於標準的模板內容、嵌套模板和重複模板,提供BS方式下高度的代碼重用性。

§         設計器支援,簡單好用。

§         可以實現代碼與視圖分離。

§         直接隨Asp.net2.0發布,可以直接使用的控制項。

 

v      主版頁面的原理?

MasterPage是用來簡單的實現模板技術的一個UserControl(使用者自訂控制項)。 當發出頁面請求後,頁面動態載入主版頁面控制項,再由主版頁面控制項再動態載入內容控制項。

設計好的模板頁相當於網站中其他頁面的容器,每個真正的功能頁面只要加一個主版頁面的使用指令就可以把所有主版頁面上的介面元素和處理元素“據為己有”。主版頁面和功能頁面的開發可以完全獨立開來,因此當介面布局需要改動時,只需要修改主版頁面的布局就可以了。

 

v      如何開發一個主版頁面?

非常簡單,這是一個名為“BasicMaster.ascx”的主版頁面範例程式碼,一看就明白:

<!—註冊使用MasterPages控制項的dllà

%@Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %

<!—如同普通頁面的頁面結構à

<html>

     <body>

<!—根據需要可以添加一個Form作容器à

<mp:nobugform runat="server">

<!—頁面配置元素,所有添加的元素都是功能頁面的共有財產à

        <h1>This Is In BasicMaster</h1>

       <hr>

    <!—注意,這是將來功能頁面的內容區à

       <mp:region id="BasicContent" runat="server">Default Content</mp:region>

       <hr>

       <h1>This Is In BasicMaster</h1>

            </mp:nobugform>

     </body>

</html>

v      如何使用主版頁面?

現在設計一個功能頁面來使用這個主版頁面,名稱為MyPage.aspx,代碼如下:

<%@ Page Language="C#" %>

<!—註冊使用MasterPages控制項的dllà

<%@ Register TagPrefix="mp" Namespace="MetaBuilders.WebControls.MasterPages" Assembly="MetaBuilders.WebControls.MasterPages" %>

<!—添加一個內容容器控制項,控制項的MasterpageFile屬性指明該頁所使用的主版頁面,~表示根路徑à

<mp:contentcontainer runat="server" id="MPContainer" MasterPageFile="~/BasicMaster.ascx">

<!—添加一個內容控制項,控制項的id屬性必須與主版頁面的Region控制項的id相同,表示以下內容元素將被嵌在主版頁面中à

<mp:content id="BasicContent" runat="server">

<!—這裡是你的功能頁面上的內容à

    <table>

        <tr><td>This Is In MasterPage</td>    </tr>

        <tr><td><img src = "~images/1.gif"/></td></tr>

    </table>

</mp:content>

</mp:contentcontainer>

v      使用主版頁面的缺點?

使用主版頁面的介面效果不如靜態頁面的UI效果自然出彩;

使用主版頁面,在進行功能頁上的頁面內容設計時不方便使用設計器,不過可以現在mp:contentcontainer 所標識的區外使用設計器設計好介面內容,待設計完成之後,再把代碼剪貼至mp:contentcontainer 內。

 

後記:

在Asp.Net2.0中,改進的更好用了,設計器提供更好的控制,且不用手工在添加這些包含指令。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.