在一个网站中,页面应该具有统一的布局方式,这些统一的布局内同将显示到所有的页面中,它提供了用户最基本的功能。Asp.Net2.0通过Master-Content结构提供了这样统一页面管理的机制。

  Master页面:其提供了所有最基本的基于该页面显示的布局和功能,它是页面的最高控制。Master页面中包含了<asp:contentPlaceHolder runat="server"></asp:contentPlaceHolder>控件,此控件的主要作用就是在Master页面中提供占位符,这些控件所在的区域是需要通过Content页面重新定义的。在整个项目进行运行时,Mater页面是无法被加载的。

  Content页面:所有的Content页面都是以Master页面为基础的,这些页面在创建时需要表明所使用的Master页面是哪个,创建成功后页面中会自动添加<asp:Content ContentPlaceHolderID="ContentPlaceHolder1" runat="server"></asp:Content>控件,此控件所对应的是Master页面中<asp:contentPlaceHolder>控件所在的区域。控件的ContentPlaceHolderID属性所对应的控件ID为<asp:contentPlaceHoder>控件的ID值。项目运行时运行Content页面会自动加载Master页面的内容。

  理论完毕,接下来上代码。(代码就是个小例子,用以说明,具体项目具体去写)

  初始时添加新建项-》母版页。在母版页中重新起好名字,我的为Main.Master。

 <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Main.master.cs" Inherits="masterContentWeb.Main" %>

 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

 <html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<asp:ContentPlaceHolder ID="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td style=" width:800px;" colspan="" ><img src="data:image/haha.PNG" alt="" /></td>
</tr>
<tr style="height:600px;">
<td style=" width:300px;">
班级管理<br />
学生管理<br />
选课管理<br />
</td>
<td>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server"> </asp:ContentPlaceHolder>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>

  Master页面完毕以后新建Content页面,新建项-》使用母版页的Web窗体,同样,改名称,我的为WebPage1.aspx,注意:勾选使用母版页

 <%@ Page Title="" Language="C#" MasterPageFile="~/Main.Master" AutoEventWireup="true" CodeBehind="WebPage1.aspx.cs" Inherits="masterContentWeb.WebPage1" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
班级列表
</asp:Content>

  两个页面都写好以后,便可运行项目,然后就会看到如下的效果图:

  可以看到将整个页面分成了三部分,其中头部和几个管理是Master页面中定义的,而学生列表是Content页面中定义,并且Content部分是可以修改的。

asp.net的Master-Content结构简介的更多相关文章

  1. [引]ASP.NET MVC 4 Content Map

    本文转自:http://msdn.microsoft.com/en-us/library/gg416514(v=vs.108).aspx The Model-View-Controller (MVC) ...

  2. 老李分享:jvm结构简介 1

    老李分享:jvm结构简介     poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:9088214 ...

  3. Laravel 文件夹结构简介

    表 1.1:Laravel 文件夹结构简介 文件夹名称 简介 app 应用程序的业务逻辑代码存放文件夹 app/Console 存放自定义 Artisian 命令文件 app/Http/Control ...

  4. .NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二)

    原文:.NetCore微服务Surging新手傻瓜式 入门教程 学习日志---结构简介(二) 先上项目解决方案图: 以上可以看出项目结构可以划分为4大块,1是surging的核心底层,2,3,4都可以 ...

  5. ASP.NET Core项目目录结构介绍

    我们下面通过在Visual Studio 2017中创建一个空的Web应用程序来详细说明下asp.net core项目目录结构: 1.项目结构说明 (1).依赖项 这里主要分两部分SDK, 目前这两部 ...

  6. 【MVC】ASP.NET MVC 4项目模板的结构简介

    引言     在VS2012新建一个窗体验证的MVC 4项目后,可以看到微软已经帮我们做了很多了,项目里面该有的都有了,完全可以看成一个简单网站.作为开发,能理解里面文件结构和作用,也算是半只脚踏进M ...

  7. SharePoint Content Database简介

    SharePoint作为微软主打的企业Portal平台,功能强大,使用简单,非常的方便.对于很多关系数据,我们可以使用自定义列表来维护,如果是非关系数据,可以使用文档库来维护.另外还可以在上面进行版本 ...

  8. Intent 意图 结构 简介

    Intent简介 官方解释: An intent is an abstract description of an operation操作 to be performed展示.表演. It can b ...

  9. ASP.NET Core学习之一 入门简介

    一.入门简介 在学习之前,要先了解ASP.NET Core是什么?为什么?很多人学习新技术功利心很重,恨不得立马就学会了. 其实,那样做很不好,马马虎虎,联系过程中又花费非常多的时间去解决所遇到的“问 ...

随机推荐

  1. sed使用详解

    sed :Stream EDitor(流编辑器) sed :模式空间(默认不编辑源文件,仅对模式空间中数据做处理) sed [options] 'AddressCommand' file ... -n ...

  2. effective c++ 条款06 不想自动生成函数,就明确拒绝

    编辑器会主动的生成三个/五个函数,如果不需要我们应该主动拒绝 使用私有属性来拒绝 ``` include int main() { return 0; } ``` 使用继承的方式来拒绝

  3. Eclipse用link方式安装插件

    其实eclipse安装插件更方便的方法就是直接扔到eclipse目录下的dropins文件夹,但如果插件比较多或者大的话,会让eclipse变得臃肿.下面介绍的用link方式可以避免这样的问题. 用l ...

  4. VirtualBox安装linux增强工具报错

    错误提示: Building the OpenGL support module                         [FAILED] 解决办法 cd /media/VBOXADDITIO ...

  5. 新浪SAE搭建项目

    1.新浪云平台SAE(http://sae.sina.com.cn/).注册账号 2.创建应用 3.填写应用信息 4.应用创建完成,管理应用 5.上传代码(.zip)格式

  6. python3.5之string

    刚开始学习python变成, 这勉强算是第一个博客吧, 主要记录了一下 字符串 中的方法, 不太准确,或者是错误的地方, 请大家指点 str1 = "GooGle" str2 = ...

  7. MFC中SQLite数据库的使用

    1打开数据库 BOOL playDlg::openData() { WCHAR a[100]; CString path; path = m_exePath+L"sentence_makin ...

  8. InputStream读取文件到string后OutputStream到文件,按String和Bytes拷贝

    http://www.iteye.com/problems/72150 写了一段代码 大体是 InputStream读取文件到string后OutputStream到文件 遇到的问题为TXT文件大小格 ...

  9. MySQL- 锁机制及MyISAM表锁

    锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许 多用户 共享的资源.如何保证数据并发访问的一致性.有效性是所 ...

  10. ASP.NET repeater添加序号列的方法

    ASP.NET repeater添加序号列的方法 1.<itemtemplate> <tr><td> <%# Container.ItemIndex + 1% ...