ASP.NET 2.0数据教程:给站点添加aspx页面


  本文标签:添加aspx页面

  定义母版页后,我们准备给站点添加aspx页面  。让我们从添加我们的首页Degault.aspx开始吧  。在解决方案管理器中右键点击项目名称并且选择添加新建项目  。从模板列表中选择Web Form选项并且命名为Default.aspx  。并且,勾上“选择母版页”的复选框  。

  添加一个新Web Form并且勾上“选择母版页”的复选框 

  图5:添加一个新Web Form并且勾上“选择母版页”的复选框

  点击确定按钮后,将会询问你新建的这个aspx页面使用哪个母版页  。也许你有多个母版页在你的项目中,但是我们只有一个  。

  选择母版页后,新建的aspx会包含下面这些标记:

  Default.aspx

  1. < %@ Page Language="C#" MasterPageFile="'/Site.master" AutoEventWireup="true"   
  2. CodeFile="Default.aspx.cs" Inherits="_Default" Title="Untitled Page" %>  
  3. < asp:Content ID="Content1" ContentPlaceHolderID="MainContent" 
  4.   Runat="Server">  
  5. < /asp:Content> 

  在@Page指令中有一个指向母版页的引用(MasterPageFile=”'/Site.master”),并且aspx页面的标记中包含了一个Content控件对应母版页中定义的ContentPlaceHolder控件,这个Content控件的ContentPlaceHolderID属性映射到指定的ContentPlaceHolder控件  。你可以在Content控件中放置你想显示在相应ContentPlaceHolder控件位置的标记  。

  设置@Page指令的Title属性为Home并且添加一些欢迎词到Content控件中:

  Default.aspx

  1. < %@ Page Language="C#" MasterPageFile="'/Site.master" AutoEventWireup="true"   
  2. CodeFile="Default.aspx.cs" Inherits="_Default" Title="Home" %>  
  3. < asp:Content ID="Content1" ContentPlaceHolderID="MainContent" 
  4.   Runat="Server">  
  5.     < h1>Welcome to the Working with Data Tutorial Site< /h1>  
  6.  
  7.     < p>This site is being built as part of a set of tutorials that  
  8. illustrate some of the new data access and databinding features in 
  9. asp.NET 2.0 and Visual Web Developer.< /p>  
  10.  
  11.     < p>Over time, it will include a host of samples that  
  12. demonstrate:< /p>  
  13.  
  14.     < ul>  
  15.         < li>Building a DAL (data access layer),< /li>  
  16.         < li>Using strongly typed TableAdapters and DataTables< /li>  
  17.         < li>Master-Detail reports< /li>  
  18.         < li>Filtering< /li>  
  19.         < li>Paging,< /li>  
  20.         < li>Two-way databinding,< /li>  
  21.         < li>Editing,< /li>  
  22.         < li>Deleting,< /li>  
  23.         < li>Inserting,< /li>  
  24.         < li>Hierarchical data browsing,< /li>  
  25.         < li>Hierarchical drill-down,< /li>  
  26.         < li>Optimistic concurrency,< /li>  
  27.         < li>And more!< /li>  
  28.     < /ul>  
  29. < /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:添加下列文件