母版页允许开发人员创建具有指定的可编辑区域的站点级模板。随后,此模板可应用到网站中的 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. hdu1698 线段树(区间更新~将区间[x,y]的值替换为z)

    Just a Hook Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  2. buildKibanaServerUrl

    private String buildKibanaServerUrl(DiscountIndexMailData mailData,Statistic stat,String failureCaus ...

  3. java thread start到run:C++源码分析

    转:https://hunterzhao.io/post/2018/06/11/hotspot-explore-inside-java-thread-run/ 整体流程 java new Thread ...

  4. 转 [Error]EOL while scanning string literal

    https://blog.csdn.net/orangleliu/article/details/38943749 项目中有个定时任务,每天取到一些表数据传到一个外部接口,但是最近总是有异常,今天查了 ...

  5. 移动测试之appium+python 入门代码(三)

    在做app自动化过程中会踩很多坑,咱们都是用中文的app,所以首先要解决中文输入的问题!本篇通过屏蔽软键盘,绕过手机的软键盘方法,解决中文输入问题. 一.定位搜索 1.打开淘宝点击搜索按钮,进入搜索页 ...

  6. sklearn中常用数据预处理方法

    1. 标准化(Standardization or Mean Removal and Variance Scaling) 变换后各维特征有0均值,单位方差.也叫z-score规范化(零均值规范化).计 ...

  7. 我想和你们说说java和C++___C加加

    头痛头痛之一: java里面,本质上来说,一个类是一个程序员定义的类型,类是一种引用类型(reference type),这意味着该类类型的变量都可以引用该类的一个实例.从表面上,对象引用变量中似乎存 ...

  8. [转] javascript另类方法高效实现htmlencode()与htmldecode()函数

    本文转自:http://blog.csdn.net/cuixiping/article/details/7846806 最常见的做法是采用正则表达式替换的方法,将特殊字符如 < > &am ...

  9. jquery mobile - select and input - horizontal - in same line

    控件组合的水平布局 select + input 在同一行 注意jquery mobile 的js 和css 的版本, 一些低版本 估计不支持 <!DOCTYPE html> <ht ...

  10. Murano Service Architecture Introducation

    1. Murano Project Mission From the third-party tool developer’s perspective, the application catalog ...