定义母版页后,我们准备给站点添加aspx页面。让我们从添加我们的首页Degault.aspx开始吧。在解决方案管理器中右键点击项目名称并且选择添加新建项目。从模板列表中选择Web Form选项并且命名为Default.aspx。并且,勾上“选择母版页”的复选框。
图5:添加一个新Web Form并且勾上“选择母版页”的复选框
点击确定按钮后,将会询问你新建的这个aspx页面使用哪个母版页。也许你有多个母版页在你的项目中,但是我们只有一个。
选择母版页后,新建的aspx会包含下面这些标记:
Default.aspx
- < %@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
- CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>
- < asp:Content ID="Content1" ContentPlaceHolderID="MainContent"
- Runat="Server">
- < /asp:Content>
在@Page指令中有一个指向母版页的引用(MasterPageFile=”~/Site.master”),并且aspx页面的标记中包含了一个Content控件对应母版页中定义的ContentPlaceHolder控件,这个Content控件的ContentPlaceHolderID属性映射到指定的ContentPlaceHolder控件。你可以在Content控件中放置你想显示在相应ContentPlaceHolder控件位置的标记。
设置@Page指令的Title属性为Home并且添加一些欢迎词到Content控件中:
Default.aspx
- < %@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
- CodeFile="Default.aspx.cs" Inherits="_Default" Title="Home" %>
- < asp:Content ID="Content1" ContentPlaceHolderID="MainContent"
- Runat="Server">
- < h1>Welcome to the Working with Data Tutorial Site< /h1>
- < p>This site is being built as part of a set of tutorials that
- illustrate some of the new data access and databinding features in
- asp.NET 2.0 and Visual Web Developer.< /p>
- < p>Over time, it will include a host of samples that
- demonstrate:< /p>
- < ul>
- < li>Building a DAL (data access layer),< /li>
- < li>Using strongly typed TableAdapters and DataTables< /li>
- < li>Master-Detail reports< /li>
- < li>Filtering< /li>
- < li>Paging,< /li>
- < li>Two-way databinding,< /li>
- < li>Editing,< /li>
- < li>Deleting,< /li>
- < li>Inserting,< /li>
- < li>Hierarchical data browsing,< /li>
- < li>Hierarchical drill-down,< /li>
- < li>Optimistic concurrency,< /li>
- < li>And more!< /li>
- < /ul>
- < /asp:Content>
@Page指令中的Title属性允许我们可以在aspx页面定义标题,即使母版页中已经定义了< title>元素。我们还可以使用Page.Title的编程方式设置页面的标题。需要注意的是母版页中引用的样式表(如Style.css)会自动校正以应用到每个aspx页面中,这是与aspx页面的目录和母版页目录之间的关系无关。
切换到设计视图我们会看到我们的页面将在浏览器中的显示效果。注意:在设计视图里,aspx页面的内容只有可编辑区域可以被修改,在母版页定义的非ContentPlaceHolder部分标记被显示成灰色。
图7:添加aspx页面:在设计视图中显示的可编辑区域及非可编辑区域
当Default.aspx页面被浏览器访问时,asp.net引擎会合并母版页的内容和aspx页的内容,并且将合并的内容呈现为最终的HTML发送到浏览器。当母版页的内容被更新,所有使用了这个母版页的aspx页面会在下次被请求时重新和新的母版页内容合并。简单的说,母版页模型允许定义一个统一的布局模板(母版页),当它改变时整个站点会反应这种改变。
添加更多的页面到站点中
让我们花一点时间添加另外的页面到站点中,以便支持最终的各种各样的课程的示例。这里总共会有超过35个示例,所以我们先创建一部分。以后会有很多类别的示例,为了更好的管理这些示例我们给每个分类添加一个文件夹。现在我们添加三个文件夹:
• BasicReporting
• Filtering
• CustomFormatting
最后,如图8所示向解决方案管理器中添加新文件。每添加一个文件的时候记住要勾上“选择母版页”的复选框。
图8:添加下列文件
【编辑推荐】
- ASP.NET MVC路径选择系统构建
- ASP.NET MVC框架中的URL路径选择场景
- ASP.NET MVC 框架URL路径选择规则
- ASP.NET MVC框架:使用强类型类来传递ViewData
- 使用ASP.NET MVC框架创建电子商务网站