ASP.NET 网站开发:母版页

母版页

从ASP.NET2.0开始提供了母版页功能,它为提高工作效率、降低开发和维护强度,提供了有利支持。在ASP.NET中,可以将Web应用程序中的公用元素,例如,网站标志、广告条、导航条、版权声明等内容整合到模板页中。可以将母版页看作是页面模版,而且是一种具有多项高级功能的页面模版。

a.打开VS2010新建网站,选择web,NET Framework 3.5下的ASP.NET应用程序


添加新建项web中母版页



删除Default.aspx网页


b.常规母板页面建立成功如下:


<%@ 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>
c.普通.aspx文件与母版页比较:

1.母版页扩展名为master,所以master为扩展名的文件都为母版页。客户端浏览器向服务器发出请求,要求访问.aspx文件,如     果是母版页则不能执行,客服端可以访问内容页,通过内容页对母版页的绑定,才能访问母版页

2.普通.aspx文件代码声明是<%@ Page%>,母版页文件代码头声明为<%@ Master %>在其它代码结构方面基本没有差异。

3母版页中可以包含一个或者多个ContentPlaceHolder控件,普通.aspx不包含该控件,ContentPlaceHolder起到占位符作用。   该标识的区域被内容页中特点代码代替。

二、内容页:

内容页主要包含页面中非公式内容,虽然文件扩展名为.aspx,但是其代码与普通.aspx文件差别很大。

a.创建内容页首先添加新建项web中使用 母版页的Web窗体。



b.常见内容代码结构如下:

<%@ 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>
c.内容页与普通.aspx文件比较

1.代码头声明

   内容页的代码头相比较普通.aspx文件增加了MasterPageFile和Title设置

   MasterPageFile:用于该内容页所绑定的母版页路径

   属性Title:设置页面title属性值

2.Content控件

  在内容页中包含一个或多个Content控件,页面中所有非公共内容都必须与ContentPlaceHolder控件相连接。(母版页中ContentPlaceHolder控件的ID属性必须与内容页中Content控件的ContentPlaceHolderID属性绑定


注意:ContentPlaceHolder对于页面内容中的非公共部分,只需要在母版页中使用一个或者多个ContentPlaceHolder控件来占位即可。ContentPlaceHolder控件主要用于母板页中,作为代替非公共部分的占位符出现,而具体内容则被放置在内容页中。即在母版页中公共部分代码写在ContentPlaceHolder占位符外面。内容页中的非公共代码写在Content里


猜你喜欢

转载自blog.csdn.net/mz1997ai/article/details/80051093