ASP.NET2.0中的创建母版页
ASP 创建 net2.0 母版
2023-06-13 09:13:42 时间
虽然母版页和内容页功能强大,但是其创建和应用过程并不复杂。本节和下一节将以创建如图1所示示例为例,向读者详细介绍,使用VisualStuido2005创建母版页和内容页的方法以及相关知识。本节的重点是创建母版页的方法。
母版页中包含的是页面公共部分,即网页模板。因此,在创建示例之前,必须判断哪些内容是页面公共部分,这就需要从分析页面结构开始。图1所示显示的是一个页面截图。在下文中,暂称该页面名为Index.aspx,并且假设其为某网站中的一页。通过分析可知,该页面的结构如图5所示。
图5页面结构图
页面Index.aspx由4个部分组成:页头、页尾、内容1和内容2。其中页头和页尾是Index.aspx所在网站中页面的公共部分,网站中许多页面都包含相同的页头和页尾。内容1和内容2是页面的非公共部分,是Index.aspx页面所独有的。结合母版页和内容页的有关知识可知,如果使用母版页和内容页来创建页面Index.aspx,那么必须创建一个母版页MasterPage.master和一个内容页Index.aspx。其中母版页包含页头和页尾等内容,内容页中则包含内容1和内容2。
使用VisualStudio2005创建一个普通Web站点,然后,在站点根目录下创建一个名为MasterPage.master的母版页。由于这是一个添加新文件的过程,因此,单击“网站”命令菜单中的“添加新项..”选项,可以打开如图6所示的窗口。
图6添加母版页
由于此例创建的是母版页,因此,需要选择母版页图标,并且设置文件名为MasterPage.master。需要注意的是,该窗口中还有一个复选框项“将代码放在单独的文件中”。默认情况下,该复选框处于选中状态。表示VisualStudio2005将会为MasterPage.master文件应用代码隐藏模型,即在创建MasterPage.master文件的基础上,自动创建一个与该文件相关的MasterPage.master.cs文件。如果不选中该项,那么只会创建一个MasterPage.master文件而已。建议读者选取该项。
在创建MasterPage.master文件之后,接着就可以开始编辑该文件了。根据前文说明,母版页中只包含页面公共部分,因此,MasterPage.master中主要包含的是页头和页尾的代码。具体源代码如下所示:
母版页MasterPage.master文件源代码
<%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs"Inherits="MasterPage"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
<title></title>
<linkhref="css/myfreetemplates.css"rel="stylesheet"type="text/css"/>
</head>
<bodybackground="http://www.68design.net/art/images/pixi_lime.gif"leftmargin="0"topmargin="0">
<formid="form1"runat="server">
<divalign="center">
<tablewidth="763"height="100%"border="0"cellpadding="0"cellspacing="0"bgcolor="#FFFFFF">
<tr>
<tdwidth="763"height="86"align="right"valign="top">
<imgsrc="http://www.68design.net/art/images/topic.gif"></td>
</tr>
<tr>
<tdwidth="763"height="53"align="right"valign="bottom"background="images/nav_bg.gif"></td>
</tr>
<tr>
<tdwidth="763"height="22"align="right"valign="top"><imgsrc="http://www.68design.net/art/images/toppic2.gif"width="763"height="22"></td>
</tr>
<tr>
<tdwidth="763"valign="top">
<tablewidth="100%"border="0"cellspacing="0"cellpadding="0">
<tr>
<tdwidth="244"valign="top">
<asp:ContentPlaceHolderID="ContentPlaceHolder1"runat="server"></asp:ContentPlaceHolder>
</td>
<tdvalign="top"align="left">
<asp:ContentPlaceHolderID="ContentPlaceHolder2"runat="server"></asp:ContentPlaceHolder>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<tdwidth="763"height="1"background="http://www.68design.net/art/images/pixi_lime.gif"><imgsrc="http://www.68design.net/art/images/pixi_lime.gif"width="1"height="1"></td>
</tr>
<tr>
<tdwidth="763"height="35"align="center"class="baseline">©CopyrightStudy.Com2006</td>
</tr>
</table>
</div>
</form>
</body></html>
以上是母版页MasterPage.master的源代码,与普通的.aspx源代码非常相似,例如,包括<html>、<body>、<form>等Web元素,但是,与普通页面还是存在差异。差异主要有两处(粗体代码所示)。差异一是代码头不同,母版页使用的是Master,而普通.aspx文件使用的是Page。除此之外,二者在代码头方面是相同的。差异二是母版页中声明了控件ContentPlaceHolder,而在普通.aspx文件中是不允许使用该控件的。在MasterPage.master的源代码中,共声明了两个ContentPlaceHolder控件,用于在页面模板中为内容1和内容2占位。ContentPlaceHolder控件本身并不包含具体内容设置,仅是一个控件声明。
图7所示,显示了MasterPage.master文件的设计时视图。
图7母版页设计时视图
使用VisualStudio2005可以对母版页进行编辑,并且它完全支持“所见即所得”功能。无论是在代码模式下,还是设计模式下,使用VisualStudio2005编辑母版页的方法,与编辑普通.aspx文件是相同的。图中两个矩形框表示ContentPlaceHolder控件。开发人员可以直接在矩形框中添加内容,所设置内容的代码将包含在ContentPlaceHolder控件声明代码中。需要注意的是,这种方法是,不规范的,因此,不推荐使用这种做法。
母版页中包含的是页面公共部分,即网页模板。因此,在创建示例之前,必须判断哪些内容是页面公共部分,这就需要从分析页面结构开始。图1所示显示的是一个页面截图。在下文中,暂称该页面名为Index.aspx,并且假设其为某网站中的一页。通过分析可知,该页面的结构如图5所示。
图5页面结构图
页面Index.aspx由4个部分组成:页头、页尾、内容1和内容2。其中页头和页尾是Index.aspx所在网站中页面的公共部分,网站中许多页面都包含相同的页头和页尾。内容1和内容2是页面的非公共部分,是Index.aspx页面所独有的。结合母版页和内容页的有关知识可知,如果使用母版页和内容页来创建页面Index.aspx,那么必须创建一个母版页MasterPage.master和一个内容页Index.aspx。其中母版页包含页头和页尾等内容,内容页中则包含内容1和内容2。
使用VisualStudio2005创建一个普通Web站点,然后,在站点根目录下创建一个名为MasterPage.master的母版页。由于这是一个添加新文件的过程,因此,单击“网站”命令菜单中的“添加新项..”选项,可以打开如图6所示的窗口。
图6添加母版页
由于此例创建的是母版页,因此,需要选择母版页图标,并且设置文件名为MasterPage.master。需要注意的是,该窗口中还有一个复选框项“将代码放在单独的文件中”。默认情况下,该复选框处于选中状态。表示VisualStudio2005将会为MasterPage.master文件应用代码隐藏模型,即在创建MasterPage.master文件的基础上,自动创建一个与该文件相关的MasterPage.master.cs文件。如果不选中该项,那么只会创建一个MasterPage.master文件而已。建议读者选取该项。
在创建MasterPage.master文件之后,接着就可以开始编辑该文件了。根据前文说明,母版页中只包含页面公共部分,因此,MasterPage.master中主要包含的是页头和页尾的代码。具体源代码如下所示:
<%@MasterLanguage="C#"AutoEventWireup="true"CodeFile="MasterPage.master.cs"Inherits="MasterPage"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headid="Head1"runat="server">
<title></title>
<linkhref="css/myfreetemplates.css"rel="stylesheet"type="text/css"/>
</head>
<bodybackground="http://www.68design.net/art/images/pixi_lime.gif"leftmargin="0"topmargin="0">
<formid="form1"runat="server">
<divalign="center">
<tablewidth="763"height="100%"border="0"cellpadding="0"cellspacing="0"bgcolor="#FFFFFF">
<tr>
<tdwidth="763"height="86"align="right"valign="top">
<imgsrc="http://www.68design.net/art/images/topic.gif"></td>
</tr>
<tr>
<tdwidth="763"height="53"align="right"valign="bottom"background="images/nav_bg.gif"></td>
</tr>
<tr>
<tdwidth="763"height="22"align="right"valign="top"><imgsrc="http://www.68design.net/art/images/toppic2.gif"width="763"height="22"></td>
</tr>
<tr>
<tdwidth="763"valign="top">
<tablewidth="100%"border="0"cellspacing="0"cellpadding="0">
<tr>
<tdwidth="244"valign="top">
<asp:ContentPlaceHolderID="ContentPlaceHolder1"runat="server"></asp:ContentPlaceHolder>
</td>
<tdvalign="top"align="left">
<asp:ContentPlaceHolderID="ContentPlaceHolder2"runat="server"></asp:ContentPlaceHolder>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<tdwidth="763"height="1"background="http://www.68design.net/art/images/pixi_lime.gif"><imgsrc="http://www.68design.net/art/images/pixi_lime.gif"width="1"height="1"></td>
</tr>
<tr>
<tdwidth="763"height="35"align="center"class="baseline">©CopyrightStudy.Com2006</td>
</tr>
</table>
</div>
</form>
</body></html>
以上是母版页MasterPage.master的源代码,与普通的.aspx源代码非常相似,例如,包括<html>、<body>、<form>等Web元素,但是,与普通页面还是存在差异。差异主要有两处(粗体代码所示)。差异一是代码头不同,母版页使用的是Master,而普通.aspx文件使用的是Page。除此之外,二者在代码头方面是相同的。差异二是母版页中声明了控件ContentPlaceHolder,而在普通.aspx文件中是不允许使用该控件的。在MasterPage.master的源代码中,共声明了两个ContentPlaceHolder控件,用于在页面模板中为内容1和内容2占位。ContentPlaceHolder控件本身并不包含具体内容设置,仅是一个控件声明。
图7所示,显示了MasterPage.master文件的设计时视图。
图7母版页设计时视图
使用VisualStudio2005可以对母版页进行编辑,并且它完全支持“所见即所得”功能。无论是在代码模式下,还是设计模式下,使用VisualStudio2005编辑母版页的方法,与编辑普通.aspx文件是相同的。图中两个矩形框表示ContentPlaceHolder控件。开发人员可以直接在矩形框中添加内容,所设置内容的代码将包含在ContentPlaceHolder控件声明代码中。需要注意的是,这种方法是,不规范的,因此,不推荐使用这种做法。
相关文章
- Asp.NetCore利用缓存使用AOP方式防止重复提交
- ASP编程操作MySQL数据库(asp访问mysql)
- 数据交互实现ASP页面与MySQL数据交互最佳方法(asp页面与mysql)
- ASP网页MySQL注入及防御研究(asp页面mysql注入)
- ASP与MySQL的结合创造巨大可能性(asp结合mysql)
- 从ASP到MySQL改进你的代码(asp改MySQL代码)
- ASP接入MySQL的操作指南(asp怎样连接mysql)
- ASP快速连接MySQL解决方案(asp如何连mysql)
- 用ASP搭建MySQL网站技术实例(asp mysql 网站)
- MySQL 注入防范调用 ASP 技术进行解决(asp mysql 注入)
- ASP与Oracle配合实现数据写入(asp oracle写入)
- ASP之简化创建关闭记录集对象并创建使用简单的MSSQL存储过程
- 收集整理的ASP的常用内置函数
- ASP.NET中常用的优化性能的方法
- ASP关于动态数据显示页面得锚点
- asp.net实例代码protectedoverridevoidRender(HtmlTextWriterwriter)
- asp中文数字验证码
- ASP.Net图片存入数据库的实现代码
- ASP.NET2.0中Forms安全认证
- asp.netAJAX注册类
- asp.net读取配置文件方法
- asp.net生成Excel并导出下载五种实现方法
- asp.net刷新本页面的六种方法总结
- asp.net(C#)生成Code39条形码实例条码枪可以扫描出
- ASP中UBOUND与LUBOUND的使用方法