webfrom 母版页

ASP.NET中母版页作用

一是提高代码的复用(把相同的代码抽出来)

二是使整个网站保持一致的风格和样式。

母版页存在就一定要有内容页的存在,否则母版页的存在就没有了意义。

.master

一、添加母版页

在新建的母版页中你会发现自动生成了两个ContentPlaceHolder控件

一个在head区, ID=“head”;

一个在body区,默认ID=“ContentPlaceHolder1”

--这是两个占位符控件,文本位置预留。

二级母版页

母版页是可以嵌套的,即在原母版页的基础上再建立母版页。

嵌套的母版页不会自动生成ContentPlaceHolder 控件,需要手动写入

 一级母版页

<%@ Master Language="C#" MasterPageFile="~/MP1.master" AutoEventWireup="true" CodeFile="MP2.master.cs" Inherits="MP2" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
</asp:Content>         <%--一级母版页预留的坑--%>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">  <%--一级母版页预留的坑--%>

    <div style="width: 30%; float: left; height: 500px; background-color: green;">

        这是一条菜单选项<br />
        <br />
        这是一条菜单选项<br />
        <br />
        这是一条菜单选项<br />
        <br />

        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    </div>

    <div style="width: 70%; float: left; height: 500px; background-color: yellow;">

        <asp:ContentPlaceHolder ID="MP2_Content1" runat="server">
        </asp:ContentPlaceHolder>                            <%--二级模板挖的坑,留给后面填--%>

    </div>

    <div style="clear: both;"></div>

    <asp:ContentPlaceHolder ID="mp2_js" runat="server"></asp:ContentPlaceHolder>
</asp:Content>

三、建立使用母版页的Web窗体

在新建web窗体时,选择要套用的母版页

 1、套用一级模板页

在新建的web窗体中有两个Content控件,与一级母版页相对应

<%@ Page Title="" Language="C#" MasterPageFile="~/MP1.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

    <h1>这是页面1,是我们套母版页出来的页面!!!!</h1>

</asp:Content>

2、套用二级母版页

在新建Web窗体中只有一个Content控件,自己挖的那个

<%@ Page Title="" Language="C#" MasterPageFile="~/MP2.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>

<asp:Content ID="Content1" ContentPlaceHolderID="MP2_Content1" Runat="Server">

    <h1>这里是我们套用二级母版页MP2出来的页面啊啊啊!!!!</h1>

</asp:Content>

四、母版页与子页之间数据的传递:

在子页中没有办法从外面访问到母版页的内部

可已写公共方法用调用方法的形式传值

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class Default3 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        Button1.Click += Button1_Click;
    }

    //点击事件
    void Button1_Click(object sender, EventArgs e)
    {
        string s =TextBox1.Text;       //获取文本框的值

        Label1.Text = s;

        MP2 m2 = this.Master as MP2;   //获取当前这个页的母版页
        m2.aaa(s);                    //调用这个母版页的方法
    }
}

子页

子页

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class MP2 : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public void aaa(string a)   //二级母版中的 公共方法
    {
        TextBox1.Text = a;        // 将传进来的值赋到 TextBox1 上

        MP1 m1 = this.Master as MP1;   //获取当前这个页的母版页
        m1.m1_aaa(a);                  //调用这个网页的母版页的方法
    }
}

 二级母版页

二级母版

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class MP1 : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }

    public void m1_aaa(string a)
    {
        TextBox1.Text = a;    //方法
    }

一级母版页

一级模板

MP1 m1 = this.Master as MP1;   //获取当前这个页的母版页

    子页 —— 二级母版  ——  一级母版     一层层传递

五、母版页公共的外部样式表路径和外部JS文件的路径匹配

css  会自动匹配相应的路径

js   不会自动匹配

<script src="<%=abc() %>"></script>   <%--引用外部的js,(在 form 内)--%>
    </form>

                      <%--     前台引用     --%>

---------------------------------------

 public string abc()
    {
        return ResolveClientUrl("js/js1.js");
    }

   <%--     后台写方法     --%>

引用外部 js 时,可以写一个方法,自动获取正确的路径

return ResolveClientUrl(" 路径 ")

时间: 2024-08-29 08:42:42

webfrom 母版页的相关文章

WebFrom 【母版页】

ASP.NET中母版页作用 一是提高代码的复用(把相同的代码抽出来) 二是使整个网站保持一致的风格和样式. 母版页存在就一定要有内容页的存在,否则母版页的存在就没有了意义. .master 一.添加母版页 在新建的母版页中你会发现自动生成了两个ContentPlaceHolder控件 一个在head区, ID="head": 一个在body区,默认ID="ContentPlaceHolder1" --这是两个占位符控件,文本位置预留. 二级母版页 母版页是可以嵌套的

ASP.NET 母版页和内容页中的事件触发顺序

母版页和内容页触发事件的先后顺序,触发事件的规则一般是初始化事件是从最里边的控件到最外边的控件,其他事件则是从最外边控件到最里边控件. 下面是一个测试: 第一次触发的是母版页的Init事件. 第二次触发的是内容页的Init事件. 第三次触发的是内容页的Load事件 第四次触发的是母版页的Load事件 总结: 母版页与内容页触发事件的顺序: 1.母版页Init事件. 2.内容页Init事件. 3.内容页Load事件 4.母版页Load事件. 5.内容页PreRender事件. 6.母版页PreRe

母版页

一.母版页简介 使用 ASP.NET 母版页可以为应用程序中的页创建一致的布局.单个母版页可以为应用程序中的所有页(或一组页)定义所需的外观和标准行为. 母版之所以称为母版,就是将大部分网页上固定内容,比如导航栏,版权声明栏放到一个母版里,然后编写网页时只需要调用母版就行了,内容页就不需要再写那些内容了.不需要将相同的部分再写一遍.母版中可以标记多个asp:ContentPlaceHolder. 母版页仅仅是一个页面模板,单独的母版页是不能被用户所访问的.单独的内容页也不能够使用.母版页和内容页

母版页的使用

1.添加一个母版页 打开以后我们会看到这些,其中圈起来的部分可以理解为占了一个坑,将来被子页面的内容所替代. 接下来我们新建一个包含母版页的窗体 2.选择要包含的母版页 点击确定后我们可以看到 OK母版页我学会了,你学会了吗?

SharePoint Online 创建门户网站系列之母版页

前 言 虽然SharePoint中母版页看起来只是头部Banner和底部版权信息这两个部分,但是实质在SharePoint Online中的页面模型中占有重要地位,而且SPO对母版页有着完善的签入签出机制和版本控制,方便使用. 同时,除了保持网站所有页面的一致性,还方便所有页面中使用的脚本.样式表引用,可以同时影响所有页面. 一. SharePoint Online母版页的签入签出和版本控制 查找母版页和页面库位置,首先进入“网站设置”,如下图: 到网站设置页面以后,点击“母版页和页面布局”,进

MVC4 Razor @RenderSection - 母版页设置

Mvc4的Razor视图引擎还提供了@RenderSection 我的理解:@RenderSection在母版页中占个位,然后让使用此母版页的子页自己去呈现他们的Section. 在母版页_Layout.cshtml中定义@RenderSection("Section名") <body> <div id="header">@{Html.RenderAction("Menu", "Global");}&l

asp.net 母版页使用详解--转

http://www.cnblogs.com/_zjl/archive/2011/06/12/2078992.html 母版页是VS2005中新引入的一个概念,它很好地实现界面设计的模块化,并且实现实现了代码的重用.它就像婚纱影楼中的婚纱模板,同一个婚纱模板可以给不同的新人用,只要把他们的照片贴在已有的婚纱模板就可以形成一张漂亮的婚纱照片,这样可以大大简化婚纱艺术照的设计复杂度.这里的母版页就像婚纱模板,而内容页面就像两位新人的照片.在VS2003中没有母版页,要实现这种设计重用的效果,我们只能

webform 母版页的使用

母版页可以为应用程序中的页创建一致的布局.单个母版页可以为应用程序中的所有页(或一组页)定义所需的外观和标准行为. 母版页的使用与普通页面类似,可以在其中放置文件或者图形.任何的HTML控件和Web控件,后置代码等.母版页的扩展名以.master结尾,不能被浏览器直接查看.母版页必须在被其他页面使用后才能进行显示. 它的使用跟普通的页面一样,可以可视化的设计,也可以编写后置代码.与普通页面不一样的是,它可以包含ContentPlaceHolder控件,ContentPlaceHolder控件就是

2017-5-25 母版页

母版页:可以把界面的部分代码进行重用 母版页的基础使用: 二级母版页的使用: 母版页与子页之间数据的传递: 母版页公共的外部样式表路径和外部JS文件的路径匹配:css文件可以直接引用,js文件需要写一个方法 public string abc() { return ResolveClientUrl("JavaScript.js"); } <%@ Page Title="" Language="C#" MasterPageFile="