母版页允许开发人员创建具有指定的可编辑区域的站点级模板。随后,此模板可应用到网站中的 ASP.NET 页面上。这些 ASP.NET 页面只需为母版页中指定的可编辑区域提供相应内容 – 在使用母版页的所有 ASP.NET 页面中,母版页中的所有其它标记都相同。此模型允许开发人员定义并集中实现站点级页面布局。 因此,开发人员可以方便地为所有页面创建一致的外观,并进行轻松的更新。

简而言之:在一个网站上会有很多页面,并且有可能有的页面都有相同的部分,这样的话我们就可以将相同的部分制作成一个母版页,在多个页面进行调用,节省了代码的重复使用和开发效率。

开发过程:

新建两个html文件HtmlPage1.html,HtmlPage2.html,一个web窗体WebForm.aspx,一个web窗体用户控件WebUserControl1.ascx

第一种方式,利用纯html制作

1.首先我们先用静态html制作一个母版页,再利用iframe来显示母版页

HtmlPage1.html为母版页

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style>
body{
margin:0px;
} #top{
width:%;
height:100px;
background-color:#6f5e5e;
}
.left{
float:left;
margin-top:12px;
margin-left:25px;
}
.logo{
margin-left:auto;
margin-right:auto;
margin-top:25px;
}
img{
vertical-align:middle;
}
.right{
float:right;
} </style>
</head> <body>
<div id="top">
<img src="img/leftcloud.png" class="left" />
<img src="img/logo.png" class="logo" />
<img src="img/rightcloud.png" class="right" />
</div>
</body>
</html>

HtmlPage2.html来调用

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
</head> <body style="margin:0px">
<iframe src="HtmlPage1.html" width="100%" height="100px"></iframe>
//利用iframe框架标签来显示
</body>
</html>

 第二种方式利用ASP.NET制作

分别利用iframe框架标签和调用web用户控件来显示

用web用户控件制作母版页,因为测试所以代码跟HtmlPage1.html基本一样

web窗体用户控件WebUserControl1.ascx代码

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication3.WebUserControl1" %>
<style>
body{
margin:0px;
} #top{
width:%;
height:100px;
background-color:#6f5e5e;
}
.left{
float:left;
margin-top:12px;
margin-left:25px;
}
.logo{
margin-left:auto;
margin-right:auto;
margin-top:25px;
}
img{
vertical-align:middle;
}
.right{
float:right;
} </style> <div id="top">
<img src="img/leftcloud.png" class="left" />
<img src="img/logo.png" class="logo" />
<img src="img/rightcloud.png" class="right" />
</div>

web窗体WebForm1.aspx调用代码

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication3.WebForm1" %>

 <%@ Register Src="~/WebUserControl1.ascx" TagPrefix="uc1" TagName="WebUserControl1" %>

 <!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>
</head>
<body style="margin:0px">
<!--两种方式嵌入不需要改变的网页显示部分-->
<iframe src="HtmlPage1.html" width="100%" height="100px"></iframe> <!--iframe 框架标签--> <form id="form1" runat="server">
<uc1:WebUserControl1 runat="server" id="WebUserControl1" />
<!--web窗体用户控件-->
</form>
</body>
</html>

asp调用web窗体用户控件很简单,你着需要从解决方案那里把用户控件拖到代码区就行了,厉害吧

ASP.NET设置母版页的更多相关文章

  1. pages 元素(ASP.NET 设置架构)web.config 详解

    pages 元素(ASP.NET 设置架构)    buffer="[True|False]"   enableEventValidation="[True|False] ...

  2. 【配置】检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为【经典】模式)。

      ×   检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). 我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 5 ...

  3. 检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(转)

    我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.N ...

  4. HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.NET 设置。

    检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(非简单设置为[经典]模式). - CatcherX 2014-03-11 11:03 27628人阅读 评论(2) 收藏 举报  分类 ...

  5. ASP.NET 之 检测到在集成的托管管道模式下不适用的ASP.NET设置

    将ASP.NET程序从IIS6移植到IIS7后,调试运行可能提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP. ...

  6. asp.net C#母版页和内容页事件排版载入顺序生命周期

    asp.net C#母版页和内容页事件排版载入顺序生命周期 关于ASP页面Page_Load发生在事件之前而导致的问题已经喜闻乐见,对于问题的解释也非常全面.可是怎样解决这个问题则较少有人说明,我就再 ...

  7. 2014-07-31 ASP.NET的母版页使用

    今天是在吾索实习的第17天.我在这天主要负责系统的骨架的搭建.首当其冲,要用的知识点就是ASP.NET母版页的使用了. ASP.NET的母版页有两种:一种是MasterPage,最常用也是最普通的母版 ...

  8. (转)检测到在集成的托管管道模式下不适用的ASP.NET设置的解决方法(转)

    我们将ASP.NET程序从IIS6移植到IIS7,可能运行提示以下错误: HTTP 错误 500.23 - Internal Server Error 检测到在集成的托管管道模式下不适用的 ASP.N ...

  9. roleManager 元素(ASP.NET 设置架构),我是因为SSL弱密码(转)

    为角色管理配置应用程序. 此元素是 .NET Framework 2.0 版中的新元素. configuration 元素(常规设置架构)  system.web 元素(ASP.NET 设置架构)   ...

随机推荐

  1. springboot开发环境搭建

    姓名:陈中娇   班级:软件151 第一步:在Eclipse下面配置Maven环境: 一.使用spring boot新建maven工程不在需要建立maven web工程,只要一般的maven工程就好了 ...

  2. [Groovy]转:Groovy 通过 isCase 方法进行分类

    闭包实现了 isCase 方法,这样闭包可以在 grep 和 sw itch 中作为分类器使用,在这种情况下,各自的参数传递给闭包,然后调用闭包进行计算得到一个 Boo lean 值(参考 6.1 节 ...

  3. 洛谷2015(树形dp)

    要点 是树形的考虑dfs 分为取一枝,取两枝两种情况,将它们的合法情况进行暴举取最好答案即可,貌似我乱搞得相当冗-- 顺手记忆化 正解应该是树上背包 #include <cstdio> # ...

  4. django基础学习

    {{forloop.counter}}  这是html的自增序号 GET请求可以直接从URL中获取信息,POST请求不可以,可以把信息藏到一个隐藏的input文本框中 orm 的概念就是对象关系映射 ...

  5. 阿里Java开发规约(1)

    本文是对阿里插件中规约的详细解释一,关于插件使用,请参考这里 1. ArrayList的subList结果不可强转成ArrayList,否则会抛出ClassCastException异常. 说明:禁止 ...

  6. CPU的CAS操作

    https://blog.csdn.net/qq_35492857/article/details/78471032 https://www.cnblogs.com/gdjdsjh/p/5076815 ...

  7. 如何 安装Yii2的高级应用程序模板

    参考 https://blog.csdn.net/youngqj/article/details/46689051

  8. B-树 B+树 红黑树

    B树是一种多路平衡查找树,它的每一个节点最多包含k个孩子,k被称为B树的阶.k的大小取决于磁盘页的大小.B树主要应用于文件系统以及部分数据库索引,比如著名的非关系型数据库MongoDB.一个m阶的B树 ...

  9. 提高Service提高进程优先级别,不被系统容易杀死

    1.首先要了解lowmemroykiller机制  在Android的lowmemroykiller机制中,会对于所有进程进行分类,对于每一类别的进程会有其oom_adj值的取值范围,oom_adj值 ...

  10. 利用划分树求解整数区间内第K大的值

    如何快速求出(在log2n的时间复杂度内)整数区间[x,y]中第k大的值(x<=k<=y)? 其实我刚开始想的是用快排来查找,但是其实这样是不行的,因为会破坏原序列,就算另外一个数组来存储 ...