• 母版页


    母版页是ASP.NET提供的一种重用技术,使用母版页可以为应用程序中的页面创建一致的布局。单个母版页可以为应用程序中的所有页(或一组页)定义所需的外观和标准行为。然后可以创建包含要显示内容的各个内容页。当用户请求内容页时,这些内容页与母版页合并,以便将母版页的布局与内容页的内容组合在一起输出。

    母版页为具有扩展名.masterASP.NET文件,它具有可以包括静态文本、HTML元素和服务器控件的预定义布局。母版页由特殊的@Master指令识别,该指令替换了用于普通.aspx页的@Page指令。

    除在所有页上显示的静态文本和控件外,母版页还包括一个或多个ContentPlaceHolder控件。ContentPlaceHolder控件称为占位符控件,这些占位符控件定义可替换内容出现的区域。可替换内容是在内容页中定义的,所谓内容页就是绑定到特定母版页的ASP.NET页(.aspx文件以及可选的代码隐藏文件),通过创建各个内容页来定义母版页的占位符控件的内容,从而实现页面的内容设计。

    在内容页的@Page指令中通过使用MasterPageFile属性来指向要使用的母版页,从而建立内容页和母版页的绑定。在内容页中,通过添加Content控件并将这些控件映射到母版页上的ContentPlaceHolder控件来创建内容。

    母版页的优点

      1.使用母版页可以集中处理页的通用功能,以便可以只在一个位置上进行更新。

      2.使用母版页可以方便地创建一组控件和代码,并将结果应用于一组页。

      3.通过允许控制占位符控件的呈现方式,母版页可以在细节上控制最终页的布局。

      4.母版页提供一个对象模型,使用该对象模型可以从各个内容页自定义母版页。

    母版页的处理步骤

      1. 用户通过键入内容页的URL来请求某页。

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

      3. 包含更新内容的母版页合并到内容页的控件树中。

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

      5. 浏览器中呈现得到的合并页。

    在母版页中放入网页的方法

    1. 在母版页中放入新建网页的方法有两种:

        第一种是直接在母版页中生成新网页。

        第二种是在建立新网页时选择母版页。

      2. 在母版页放入存在的网页。一般通过手工加入或修改一些代码来使存在的网页嵌入到母版页中。 

    使用实例

    新建母版页MasterPage.Master,页面设计如下:

     1 <div align="Center">
     2         <table Width="900" Height="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="yellow">
     3             <tr>
     4                 <td colspan="2" Width="900" Height="40" align="right" valign="top" bgcolor="pink">
     5                 </td>
     6             </tr>
     7             <tr>
     8                 <td Width="400"bgcolor="green" >
     9                     <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"/>
    10                 </td>
    11                 <td Width="500" bgcolor="blue">
    12                     <asp:ContentPlaceHolder ID="ContentPlaceHolder2" runat="server" />
    13                 </td>
    14             </tr>
    15             <tr>
    16                 <td colspan="2" bgcolor="black" Height="20"></td>
    17             </tr>
    18         </table>
    19 </div>

    在母版页中放入新建网页WebForm1.aspx,添加页面导航,代码如下:

     1 <%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.Master"
     2  AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs"
     3  Inherits="WebApplication2.WebForm1" %>
     4 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
     5 </asp:Content>
     6 <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
     7     <a href="WebForm2.aspx">主页</a>
     8 </asp:Content>
     9 <asp:Content ID="Content3" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
    10     <a href="WebForm3.aspx">主题</a>
    11 </asp:Content>

    添加页面WebForm2.aspx和WebForm3.aspx。

  • 相关阅读:
    win10环境下 jdk8安装点击下一步没反应解决办法
    selenium 常见鼠标 键盘事件
    selenium 输入框有默认值,用键盘事件解决
    selenium 键盘事件
    selenium 鼠标事件
    sql length
    ecshop Uncaught transport.js/parseResult() error: can't parse to JSON 错误解决
    j2EE基础知识
    mybatis入门知识
    JVM入门
  • 原文地址:https://www.cnblogs.com/spilledlight/p/4857895.html
Copyright © 2020-2023  润新知