母版页

母版页

母版页的目的

    就是从内部建立支持网页模板的功能,以实现网站一致性要求。

母版页的功能(两个包含,一个结合)

    两个包含——指将页面分为非公共部分和公共部分,并且两者被分别包含在两个文件中。

    一个结合——指控件应用以及属性设置等行为,将母版页和内容页有机结合。

在实现网站一致性的过程中,必须包含两种文件:

  •     母版页
            母版页扩展名是.master,是其封装页面中的公共元素
  •     内容页

            内容也实际上是普通的.aspx文件,它包含除母版页之外的其他非公内容

常见母版页代码结构:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Site1.master.cs" Inherits="WebApplication1.Site1" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
        
        </asp:ContentPlaceHolder>
    </div>
    </form>
</body>
</html>

母版页与普通.aspx文件代码比较

  •      母版页的扩展名是.master,所以以.master为扩展名的文件都是母版页,这一点与普通.aspx文件不同。客户端浏览器可以向服务器发出请求,要求访问.aspx文件,但是,如果请求的是母版页,则不能执行。客户端可以访问内容页,通过内容页对母版页的绑定,才能够间接访问母版页。
  •     普通的.aspx文件的代码头声明是<%@Page%>,而母版页文件的代码头声明与此不同,它必须声明为<%@Master%>。除此之外,母版页与普通.aspx文件在代码结构方面基本没有差异。
  •     母版页中可以包括一个或者多个ConreolPlaceHolder控件。而在普通.aspx文件中是不包含该控件的。ConreolPlaceHolder控件起到一个占位符的作用,能够在母版页中标识出某个区域,该区域将被内容页中的特定代码代替。

内容页主要包含页面中的非公内容。虽然,其代码结构与普通.aspx文件差异很大。

常见的内容页的代码结构:

<%@ Page Title="" Language="C#" MasterPageFile="~/Site1.Master" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
</asp:Content>

内容页的代码主要分为:

    (1)代码头声明

    (2)Content控件

内容也和母版页的运行过程可以概括为一下5个步骤:

    (1)用户输入内容页的URL来请求某页。

    (2)获取内容页后,读取@Page指令。如果该指令引用一个母版页,则也读取母版页。如果是第一次请求这两个页,则两个页都要进行编译。

    (3)母版页合并到内容页的控件树中。

    (4)各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。

    (5)呈现得到的结果页。

母版页的优点

  •     有利于站点修改好维护,降低开发人员的工作强度。
  •     提供高效的内容整合能力。
  •     有利于实现页面布局。
  •     提供一种便于利用的对象模型。

创建母版页


    创建内容页

       



   

猜你喜欢

转载自blog.csdn.net/SUNSHINE_12X/article/details/80050750