asp.net的Master-Content結構簡介


  在一個網站中,頁面應該具有統一的布局方式,這些統一的布局內同將顯示到所有的頁面中,它提供了用戶最基本的功能。Asp.Net2.0通過Master-Content結構提供了這樣統一頁面管理的機制。

  Master頁面:其提供了所有最基本的基於該頁面顯示的布局和功能,它是頁面的最高控制。Master頁面中包含了<asp:contentPlaceHolder runat="server"></asp:contentPlaceHolder>控件,此控件的主要作用就是在Master頁面中提供占位符,這些控件所在的區域是需要通過Content頁面重新定義的。在整個項目進行運行時,Mater頁面是無法被加載的。

  Content頁面:所有的Content頁面都是以Master頁面為基礎的,這些頁面在創建時需要表明所使用的Master頁面是哪個,創建成功后頁面中會自動添加<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server"></asp:Content>控件,此控件所對應的是Master頁面中<asp:contentPlaceHolder>控件所在的區域。控件的ContentPlaceHolderID屬性所對應的控件ID為<asp:contentPlaceHoder>控件的ID值。項目運行時運行Content頁面會自動加載Master頁面的內容。

  理論完畢,接下來上代碼。(代碼就是個小例子,用以說明,具體項目具體去寫)

  初始時添加新建項-》母版頁。在母版頁中重新起好名字,我的為Main.Master。

 1 <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="masterContentWeb.Main" %>
 2 
 3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
 4 
 5 <html xmlns="http://www.w3.org/1999/xhtml">
 6 <head runat="server">
 7     <title></title>
 8     <asp:ContentPlaceHolder ID="head" runat="server">
 9     </asp:ContentPlaceHolder>
10 </head>
11 <body>
12     <form id="form1" runat="server">
13     <div>
14         <table>
15             <tr>
16                 <td style=" width:800px;" colspan="2" ><img src="image/haha.PNG" alt="" /></td>
17             </tr>
18             <tr style="height:600px;">
19                 <td style=" width:300px;">
20                     班級管理<br />
21                     學生管理<br />
22                     選課管理<br />
23                 </td>
24                 <td>
25                     <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
26         
27                     </asp:ContentPlaceHolder>
28                 </td>
29             </tr>
30         </table>        
31     </div>
32     </form>
33 </body>
34 </html>

  Master頁面完畢以后新建Content頁面,新建項-》使用母版頁的Web窗體,同樣,改名稱,我的為WebPage1.aspx,注意:勾選使用母版頁

1 <%@ Page Title="" Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true" CodeBehind="WebPage1.aspx.cs" Inherits="masterContentWeb.WebPage1" %>
2 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
3 </asp:Content>
4 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
5 班級列表
6 </asp:Content>

  兩個頁面都寫好以后,便可運行項目,然后就會看到如下的效果圖:

  可以看到將整個頁面分成了三部分,其中頭部和幾個管理是Master頁面中定義的,而學生列表是Content頁面中定義,並且Content部分是可以修改的。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM