• Webform---母版页(Master Pages)


    母版页(Master Pages)为网站内的其他页面提供模版。

    Master Page 使您有能力为 web 应用程序中的所有页面(或页面组)创建一致的外观和行为。

    Master Page 为其他页面提供了模版,带有共享的布局和功能。Master Page 为内容定义了可被内容页面覆盖的占位符。而输出结果就是 Master Page 和内容页面的组合。

    内容页包含您希望显示的内容。

    当用户请求内容页时,ASP.NET 会对页面进行合并以生成输出,输出结果对 Master Page 的布局和内容页面的内容进行了合并。

    =======================================================================================================

    导航和页脚母页版

    MP1.master:
    <%@ Master Language="C#" AutoEventWireup="true" CodeFile="MP1.master.cs" Inherits="MP1" %>
    
    <!DOCTYPE html>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title></title>
        <link href="csss/css1.css" rel="stylesheet" />
        <script src="<%=abc() %>"></script>//解决JS文件路径不统一的问题
        <asp:ContentPlaceHolder ID="head" runat="server">
        </asp:ContentPlaceHolder>
    </head>
    <body>
        <form id="form1" runat="server">
            <div>
    
                <div id="header">
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                </div>
    
                <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                </asp:ContentPlaceHolder>
    
    
                <div id="footer"></div>
    
    
            </div>
        </form>
    </body>
    </html>
    
    
    MP1.master.cs:
    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
    {
        public void mp1_aaa(string s)
        {
            TextBox1.Text = s;//接收传值
        }
    
        public string abc()
        {
            return ResolveClientUrl("js/js1.js");
        }
    
    
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    }

    嵌入了mp1的左标签母页版


    MP2.master.cs:

    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
    {
        public void aaa(string s)
        {
            TextBox1.Text = s;
    
            MP1 mp1 = this.Master as MP1;//传值
            mp1.mp1_aaa(s);
    
        }
    
    
    
        protected void Page_Load(object sender, EventArgs e)
        {
    
        }
    }


    MP2.master

    <%@ Master Language="C#" MasterPageFile="~/MP1.master" AutoEventWireup="true" CodeFile="MP2.master.cs" Inherits="MP2" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
    
        <style>
            #left {
                position: relative;
                 20%;
                height: 300px;
                background-color: yellow;
                float: left;
            }
    
            #right {
                position: relative;
                 80%;
                height: 300px;
                background-color: aqua;
                float: left;
            }
        </style>
    
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
    
        <div id="left">
            这里是标题1<br />
            <br />
            这里是标题1<br />
            <br />
            这里是标题1<br />
            <br />
            这里是标题1<br />
            <br />
            这里是标题1<br />
            <br />
            这里是标题1<br />
            <br />
            <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    
        </div>
        <div id="right">
    
            <asp:ContentPlaceHolder ID="MP2_Content" runat="server"></asp:ContentPlaceHolder>
    
        </div>
        <div style="clear: both;"></div>
    </asp:Content>

    这里是MP1掏出来的第二个页面

    <%@ Page Title="" Language="C#" MasterPageFile="~/MP1.master" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    
        <h1>这里是MP1掏出来的第二个页面</h1>
    
    </asp:Content>


    这里是MP2套出来的页面

    <%@ Page Title="" Language="C#" MasterPageFile="~/MP2.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %>
    
    <asp:Content ID="Content1" ContentPlaceHolderID="MP2_Content" Runat="Server">
    
        <h1>这里是MP2逃出来的页面11111</h1>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" Text="Button" />
    
    </asp:Content>

    mp2套出来的页面.cs

    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)
        {
            //1、把本页面中的文本框的值取出来
            string s = TextBox1.Text;
    
            //2、把取出来的值放到母版页的文本框中去
            MP2 mp2 = this.Master as MP2;
            mp2.aaa(s);
    
        }
    }
  • 相关阅读:
    腾讯分析系统架构解析
    GreenPlum简单性能测试与分析--续
    我的一些提高效率的设置
    Windows 上借助注册表来修改键盘按键的映射
    WPF入门——Converter、XAML和Style
    30个极大提高开发效率的Visual Studio Code插件(转)
    USB PD充电
    macOS Mojave 美化一下终端
    WPF入门(4)——资源
    使用Duilib开发Windows软件(5)——使用VLC做视频播放
  • 原文地址:https://www.cnblogs.com/maxin991025-/p/6396562.html
Copyright © 2020-2023  润新知