• 沒有找到結果。

Web数据库程序设计 - 万水书苑-出版资源网

N/A
N/A
Protected

Academic year: 2021

Share "Web数据库程序设计 - 万水书苑-出版资源网"

Copied!
24
0
0

加載中.... (立即查看全文)

全文

(1)

项目三

教务管理系统页面导航

3.1 问题情境——教务管理系统页面导航的实现 

Web  应用程序一般都由若干个页面构成,这些页面之间有着一定的层次关系,如果用户能够 得心应手地在页面之间进行跳转,会大大提高该应用程序的可用性和可操作性,容易被用户接受。 因此, 在这个项目中重点分析教务管理系统的页面层次关系, 讲述如何实现页面间的自由导航。

3.2 问题分析 

ASP.NET 中引入了导航系统来实现页面之间的自由导航功能。  ASP.NET  站点导航能将跳转到所有页面文件的链接存储在一个中心位置,然后通过在页面中 包含一个用于读取站点信息的 SiteMapPath 控件,自动显示该页面在整个网站中的层次结构,可以 看到该页面及其上一级父页面,直到根页面这样的层次结构。 另外还提供用于显示站点信息的导航控件(如 TreeView 或者 Menu 控件),可以根据需要,由 用户定制,确定要在一个页面上实现的跳转链接。

3.3 任务设计与实施

3.3.1 任务 1:教务管理系统页面导航的设计与规划  1.任务计划 教务管理系统涉及的功能页面很多,因此,在实现页面导航之前应该先进行规划,分析清楚页面之 间的层次关系,明确在树形结构中各个页面的位置,然后再确定每一个页面需要导航的其他页面文件。 在这里的页面导航设计与规划,将严格按照项目二中分析的结果进行,以保持系统开发的一致性。  2.任务实施 根据项目二的需求分析和设计,确定的教务管理系统总体功能模块图如图 3­1 所示。

项目三

(2)

图 3­1  教务管理系统总体功能模块图 由图 3­1 可以看出,以管理员用户身份登录教务管理系统后,可以进行的操作有 4 种: 用户信息管理:注册新用户、修改用户密码、删除用户。 学生信息管理:学生信息的录入、修改、删除、查询、统计。 课程信息管理:课程信息的录入、修改、删除、查询、统计。 成绩信息管理:成绩信息的录入、修改、删除、查询、统计。 经过规划与设计,确定下来的教务管理系统需要的页面文件如表 3­1 所示。 表 3­1  教务管理系统的页面文件 序号 页面名称 页面文件名 页面功能  1  登录页面  Default.aspx  根据用户名和密码进行身份验证,如正确则可以 登录,页面跳转至系统首页  2  首页  Default2.aspx  首页显示当前登录用户的用户名,当前日期和时 间,当前访问人数,并提供菜单项或者其他链接 方式,让用户根据需要打开相应的页面  3  用户信息管理页面  Default3.aspx  注册新用户、修改用户密码和删除用户  4  学生信息维护页面  Default4.aspx  学生基本信息的录入、修改和删除功能  5  学生信息查询与统计页面  Default5.aspx  学生信息的查询和各种统计功能  6  课程信息维护页面  Default6.aspx  所有课程的信息录入、修改、删除功能  7  课程信息查询与统计页面  Default7.aspx  课程信息的查询和各种统计功能  8  成绩信息维护页面  Default8.aspx  所有学生各门课程成绩信息的录入、修改、删除 功能  9  成绩查询与统计页面  Default9.aspx  各种成绩信息的查询与统计功能  10  用户个人信息调查页面  Default10.aspx  用户选择调查项目,然后提交 这些页面文件之间的层次结构如下所示。 教务管理系统 (管理员用户) 用户信息管理 学生信息管理 课程信息管理 成绩信息管理 首页 登录页面 用户信息管理 学生信息管理 课程信息管理 成绩信息管理 用户个人信息调查 学生信息维护页面 学生信息查询与统计页面 课程信息维护页面 课程信息查询与统计页面 成绩信息浏览页面 成绩信息查询与统计页面

(3)

下面分别对每一个页面的导航进行设计与规划。 首页:添加 TreeView 控件或者 Menu 控件,实现到各个功能页面的跳转。 用户信息管理页面:添加 HyperLink 超链接,返回到首页。 学生信息维护页面:添加 SiteMapPath 控件,可以显示其各级父页面。 学生信息查询与统计页面:添加 SiteMapPath 控件,显示其各级父页面。 课程信息维护页面:添加 SiteMapPath 控件,显示其各级父页面。 课程信息查询与统计页面:添加 SiteMapPath 控件,显示其各级父页面。 成绩信息维护页面:添加 SiteMapPath 控件,显示其各级父页面。 成绩信息查询与统计页面:添加 SiteMapPath 控件,显示其各级父页面。 用户个人信息调查页面:添加 HyperLink 超链接控件,返回到首页。 后续的页面导航就依据上述设计来实现。 3.3.2 任务 2:SiteMapPath 页面导航的实现  1.任务计划 根据分析,要在教务管理系统各个功能页面中添加 SiteMapPath 控件实现页面导航功能,但是 此控件的使用要配合一个  SiteMap  站点地图文件,因此在本任务中,先创建并编辑站点地图文件 (Web.sitemap), 在其中声明各个页面文件的层次关系, 随后再在各个页面中分别添加 SiteMapPath  控件,实现页面各级父页面的层次链接。 各个功能页面运行效果如图 3­2 至图 3­7 所示。 图 3­2  学生信息维护页面运行效果

(4)

图 3­3  学生信息查询与统计页面运行效果

图 3­4  课程信息维护页面运行效果

(5)

图 3­6  成绩信息维护页面运行效果 图 3­7  成绩信息查询与统计页面运行效果  2.任务实施 (1)启动 Visual Studio 2005,打开网站文件 WebSite2。 (2)单击“添加新项”按钮,在弹出的“添加新项”窗口选择“站点地图” ,并单击“添加” 按钮即可完成添加,如图 3­8 所示。 观察图 3­8 可以看出,站点地图的文件名为 Web.sitemap,该文件是一个 XML 文件,用于声 明网站中各个页面文件的层次关系,其声明语句必须严格遵循 XML 文件的格式。另外,站点地 图文件必须位于应用程序的根目录下,以便于引用站点地图提供程序自动选取其内容,请读者注 意这一点。 添加完成后的网站文件结构如图 3­9 所示。

(6)

图 3­8  “添加新项”窗口 图 3­9  网站文件结构 (3)打开 Web.sitemap 文件,编写 XML 代码,声明在本网站中从首页开始的 9 个页面之间的 层次关系。参考代码如下:  <?xml version="1.0" encoding="utf­8" ?>  <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap­File­1.0" >  <siteMapNode url="Default2.aspx" title="首页"    description="">  <siteMapNode url="Default3.aspx" title="用户管理页面"  description="" />  <siteMapNode url ="" title ="学生信息管理">  <siteMapNode url ="Default4.aspx" title ="学生信息维护页面" />  <siteMapNode url ="Default5.aspx" title ="学生信息查询与统计页面" />  </siteMapNode>  <siteMapNode url ="" title ="课程信息管理">  <siteMapNode url ="Default6.aspx" title ="课程信息维护页面" />  <siteMapNode url ="Default7.aspx" title ="课程信息查询与统计页面" />  </siteMapNode>  <siteMapNode url ="" title ="成绩信息管理">  <siteMapNode url ="Default8.aspx" title ="成绩信息维护页面" />  <siteMapNode url ="Default9.aspx" title ="成绩信息查询与统计页面" />  </siteMapNode>  <siteMapNode url="Default10.aspx" title="用户个人信息调查页面"    />  </siteMapNode>  </siteMap>

(7)

观察上面这段代码可以看出,在当前声明的网页层次结构中,首页是根节点,其下有 5 个子节 点:用户信息管理、学生信息管理、课程信息管理、成绩信息管理和用户个人信息调查。 这 5 个子节点中, “用户信息管理”和“用户个人信息调查”两个子节点已经是叶子节点,没 有下一级子节点,而“学生信息管理” 、 “课程信息管理”和“成绩信息管理”3 个子节点仍有下一 级子节点。 请读者仔细观察上述代码,比较叶子节点的声明方法和子节点的声明方法。 每一个节点 SiteMapNode 都有 2 个基本属性需要设置,Url 属性用于指明这个节点描述的页面 的 Url,Title 属性用于显示页面的标题。 (4)下面就开始在各个功能页面上添加导航控件 SiteMapPath,实现页面层次关系的显示。 切换到页面文件 Default4.aspx,为学生信息维护页面添加导航控件 SiteMapPath。 在工具箱中选择“导航”控件选项卡,向当前页面(Default4.aspx)中添加一个  SiteMapPath  控件,观察添加后的效果。切换到“源模式”窗口,查看 HTML 代码如下:  <asp:SiteMapPath ID="SiteMapPath1" runat="server">  </asp:SiteMapPath>  启动调试,页面运行效果如图 3­10 所示。 图 3­10  学生信息维护页面导航效果 在图 3­10 所示的页面分层关系中,当前页面是“学生信息维护页面” ,其父页面是“学生信息 管理” ,再上一层父页面是“首页” ,但是目前的网站文件中并未包含“学生信息管理”页面文件, 因此其显示文本为黑色,如果设置了页面 Url,则会以同“首页”相同的颜色显示。  SiteMapPath  控件是一种站点导航控件,能显示一个导航路径,此路径为用户显示当前页面的 位置,并显示返回到主页的路径链接。当用户在页面中添加了 SiteMapPath 控件后,系统会自动从 站点地图文件 Web.sitemap 中读取相应的页面层次关系,在 SiteMapPath 控件中显示出来。 (5)为学生信息查询与统计页面(Default5.aspx)添加导航控件 SiteMapPath,页面运行效果 如图 3­3 所示。 为课程信息维护页面 (Default6.aspx) 添加导航控件 SiteMapPath, 页面运行效果如图 3­4 所示。 为课程信息查询与统计页面(Default7.aspx)添加导航控件  SiteMapPath,页面运行效果如图  3­5 所示。

(8)

为成绩信息维护页面 (Default8.aspx) 添加导航控件 SiteMapPath, 页面运行效果如图 3­6 所示。 为成绩信息查询与统计页面(Default9.aspx)添加导航控件  SiteMapPath,页面运行效果如图  3­7 所示。 (6)切换到“用户信息管理页面” ,添加一个导航控件 SiteMapPath,启动调试,观察运行效 果如图 3­11 所示。 图 3­11  用户管理页面导航效果 至此,利用导航控件 SiteMapPath 实现页面导航就介绍到这里。 3.3.3 任务 3:TreeView 页面导航的实现  1.任务计划 在任务 2 中完成了各个功能页面的页面层次导航, 使得每一个功能页面都能返回到其各级父页 面,下来需要做的是从首页到各个功能页面的导航。要完成这个任务,可以借助的控件有树形导航 控件 TreeView、菜单控件 Menu、超链接控件 HyperLink。

在本任务中讲述利用树形导航控件 TreeView 实现首页中的页面导航功能,页面运行效果如图  3­12 所示。

(9)

2.任务实施 (1)启动 Visual Studio 2005,打开网站文件 WebSite2,切换到“首页”Default2.aspx。 (2)选择工具箱中的“导航”控件选项卡,向页面中添加一个树形导航控件 TreeView。  TreeView 控件用于显示分级的数据项,例如磁盘上的文件和目录,或者组织结构树。 (3)打开  TreeView  控件的“属性”窗口,选择其属性  Nodes,单击其右侧的小按钮,弹出 “TreeView  节点编辑器”窗口,单击“添加根节点”按钮和“添加子节点”按钮,为该控件添加 各项,效果如图 3­13 所示。 图 3­13  “TreeView 节点编辑器”窗口 从图 3­13 中可以看出,每一个节点需要设置的属性有两个:Text 属性和 NavigateUrl 属性。 l  Text 属性:用于显示项的文本标题。 l  NavigateUrl 属性:用于设置该项导航的页面 Url。 (4)切换到“源模式”窗口,查看 HTML 代码如下:  <asp:TreeView    ID="TreeView1" runat="server">  <Nodes>  <asp:TreeNode Text="首页" Value="首页">  <asp:TreeNode NavigateUrl="~/Default3.aspx"  Text="用户信息管理" Value="用户信息管理">  </asp:TreeNode>  <asp:TreeNode Text="学生信息管理" Value="学生信息管理">  <asp:TreeNode NavigateUrl="~/Default4.aspx"  Text="学生信息维护" Value="学生信息维护">  </asp:TreeNode>  <asp:TreeNode NavigateUrl="~/Default5.aspx"  Text="学生信息查询与统计" Value="学生信息查询与统计">  </asp:TreeNode>  </asp:TreeNode>  <asp:TreeNode Text="课程信息管理" Value="课程信息管理">  <asp:TreeNode NavigateUrl="~/Default6.aspx"  Text="课程信息维护" Value="课程信息维护">  </asp:TreeNode>  <asp:TreeNode NavigateUrl="~/Default7.aspx"  Text="课程信息查询与统计" Value="课程信息查询与统计">  </asp:TreeNode>  </asp:TreeNode>  <asp:TreeNode Text="成绩信息管理" Value="成绩信息管理">  <asp:TreeNode NavigateUrl="~/Default8.aspx"

(10)

Text="成绩信息维护" Value="成绩信息维护">  </asp:TreeNode>  <asp:TreeNode NavigateUrl="~/Default9.aspx"  Text="成绩信息查询与统计" Value="成绩信息查询与统计">  </asp:TreeNode>  </asp:TreeNode>  <asp:TreeNode NavigateUrl="~/Default10.aspx"  Text="用户个人信息调查" Value="用户个人信息调查">  </asp:TreeNode>  </asp:TreeNode>  </Nodes>  </asp:TreeView>  仔细观察上述代码,可以看出,TreeView  控件由节点组成,树形结构中的每一个项都称为一个 节点, 由一个 TreeNode 对象表示。 在上述代码中, 根节点是 “首页” , 其包含 5 个子节点 (TreeNode)。 这 5 个子节点中, 有两个是叶子节点, 它们是子节点 (TreeNode) “用户信息管理” 和子节点 (TreeNode) “用户个人信息调查” ,其他 3 个子节点(TreeNode)均又有两个叶子子节点(TreeNode)。 (5)启动调试,运行该页面,逐一单击各个功能页面链接,检查页面导航功能的实现。 当通过 TreeView 控件的树形导航菜单跳转至某一个功能页面之后,又可以再通过这个功能页 面上的导航控件 SiteMapPath  返回到首页。随后再通过 TreeView 控件的树形导航菜单跳转至另一 个功能页面,再一次通过该功能页面上的导航控件 SiteMapPath 返回到首页。 请读者一一检查各个页面,确保每一个页面都能正确导航,减少应用系统交付用户使用之后可 能产生的错误。 (6)运行“首页” ,通过 TreeView 树形导航跳转至页面“用户个人信息调查” ,会发现无法从 该页面返回到首页。因为在“用户个人信息调查”页面未添加与“首页”页面的导航链接。 此处的选择有两种:导航控件 SiteMapPath 和超链接 HyperLink。 切换到页面 Default10.aspx,从工具箱“标准”控件选项卡中选择超链接 HyperLink,添加至当 前页面,并修改其属性值,HTML 代码如下:  <asp:HyperLink ID="HyperLink1" runat="server"  NavigateUrl ="~/Default2.aspx" >返回首页</asp:HyperLink>  启动调试,从首页中通过 TreeView 树形导航菜单跳转至“用户个人信息调查”页面,再通过 超链接返回首页。运行效果如图 3­14 所示。 图 3­14  用户个人信息调查页面运行效果

(11)

至此,通过 TreeView 树形导航实现首页页面的导航功能讲述完毕,下面将讲述通过 Menu 菜 单控件实现首页页面导航功能。 3.3.4 任务 4:Menu 页面导航的实现  1.任务计划 要实现从首页页面到其他功能页面的导航,可以借助的控件有树形导航控件  TreeView、菜单 控件 Menu、超链接控件 HyperLink。 在任务 3 中已经借助树形导航控件 TreeView 实现了首页页面的导航功能,因此在本任务中将 讲述利用菜单控件 Menu 实现首页中的页面导航功能,页面运行效果如图 3­15 所示。 图 3­15  首页导航效果  2.任务实施 (1)切换到首页页面 Default2.aspx,从工具箱“导航”控件选项卡中选择控件 Menu,添加至 当前页面。 (2)打开 Menu 控件的“属性”窗口,选择其属性 Items,单击该属性右侧的小按钮,弹出“菜 单项编辑器”窗口。 (3)在该窗口中单击“添加根项”和“添加子项”按钮,分别为 Menu 控件添加各个菜单项, 效果如图 3­16 所示。  Menu 菜单控件能够构建与 Windows 应用程序类似的菜单,Menu 菜单控件显示两种类型的菜 单项:静态菜单和动态菜单。 l 静态菜单:始终显示在 Menu 控件中,默认情况下,根级别的菜单项都是静态菜单。 l 动态菜单:仅当用户鼠标指针置于包含动态菜单的父菜单项上时,才会显示动态菜单。 仔细观察图 3­16,可以看出当前的 Menu 控件包含 4 个静态菜单(根菜单项):用户信息管理、 学生信息管理、课程信息管理、成绩信息管理。

(12)

图 3­16  “菜单项编辑器”窗口 其中,用户信息管理菜单没有下一级子菜单,其他 3 个菜单项均包含子菜单项(动态菜单)。 对于每一个菜单项,需要设置的基本属性有两个:Text 属性和 NavigateUrl 属性。 l  Text 属性:用于设置菜单项的文本标题。 l  NavigateUrl 属性:用于设置该菜单项要导航的页面 Url。 (4)切换到“源模式”窗口,HTML 代码如下:  <asp:Menu ID="Menu1" runat="server" Orientation="Horizontal">  <Items>  <asp:MenuItem NavigateUrl="~/Default3.aspx" Text="用户信息管理"  Value="用户信息管理">  </asp:MenuItem>  <asp:MenuItem Text="学生信息管理" Value="学生信息管理">  <asp:MenuItem NavigateUrl="~/Default4.aspx"  Text="学生信息维护" Value="学生信息维护">  </asp:MenuItem>  <asp:MenuItem NavigateUrl="~/Default5.aspx"  Text="学生信息查询与统计" Value="学生信息查询与统计">  </asp:MenuItem>  </asp:MenuItem>  <asp:MenuItem Text="课程信息管理" Value="课程信息管理">  <asp:MenuItem NavigateUrl="~/Default6.aspx"  Text="课程信息维护" Value="课程信息维护">  </asp:MenuItem>  <asp:MenuItem NavigateUrl="~/Default7.aspx"  Text="课程信息查询与统计" Value="课程信息查询与统计">  </asp:MenuItem>  </asp:MenuItem>  <asp:MenuItem Text="成绩信息管理" Value="成绩信息管理">  <asp:MenuItem NavigateUrl="~/Default8.aspx"  Text="成绩信息维护" Value="成绩信息维护">  </asp:MenuItem>  <asp:MenuItem NavigateUrl="~/Default9.aspx"  Text="成绩信息查询与统计" Value="成绩信息查询与统计">  </asp:MenuItem>  </asp:MenuItem>  </Items>  </asp:Menu>

(13)

仔细阅读上述代码,下列语句是关于 Menu 控件的属性设置:  <asp:Menu ID="Menu1" runat="server"Orientation="Horizontal">  其中,属性 Orientation 用于设置菜单项的排列方式,取值有两个:Horizontal(水平)和 Vertical  (垂直),默认值为 Vertical(垂直)。 (5)启动调试,页面运行效果如图 3­17 所示。 图 3­17  首页页面导航效果 至此,利用 Menu 菜单控件实现首页页面导航功能的任务已经完成。  3.技能拓展 请读者思考:如果要利用超链接控件 HyperLink 实现首页页面导航功能,该如何做呢? (1)打开首页页面 Default2.aspx,分别添加 4 个 HyperLink 超链接控件,修改各个控件的属 性 NavigateUrl 和 Text。 (2)切换到“源模式”窗口,查看 HTML 代码如下:  <asp:HyperLink ID="HyperLink2" runat="server"  NavigateUrl ="~/Default3.aspx" >用户信息管理</asp:HyperLink>  <asp:HyperLink ID="HyperLink3" runat="server"  NavigateUrl ="~/Default4.aspx" >学生信息维护</asp:HyperLink>  <asp:HyperLink ID="HyperLink4" runat="server"  NavigateUrl ="~/Default6.aspx" >课程信息维护</asp:HyperLink>  <asp:HyperLink ID="HyperLink5" runat="server"  NavigateUrl ="~/Default8.aspx" >成绩信息维护</asp:HyperLink>  (3)启动调试,页面运行效果如图 3­18 所示。 至此教务管理系统页面导航功能全部开发完毕,请读者理解各种导航控件的用法,在后续的应 用开发中根据需要进行选择。

(14)

图 3­18  加入超链接的首页运行效果

3.4 知识总结

3.4.1 站点地图  1.Web 导航简介  ASP.NET  站点导航能够将指向所有页面的链接存储在一个中央位置,并在列表中呈现这些链 接,或用一个特定  Web  服务器控件在每页上呈现导航菜单。若要为站点创建一致的、容易管理的 导航解决方案,可以使用  ASP.NET  站点导航。  ASP.NET 站点导航提供下列功能: (1)站点地图:可以使用站点地图描述站点的逻辑结构,再通过在添加或移除页面时修改站 点地图(而不是修改所有网页的超链接)来管理页导航。 (2)ASP.NET  控件:可以使用  ASP.NET  控件在网页上显示导航菜单,导航菜单以站点地图 为基础。 (3)编程控件:可以以代码方式使用  ASP.NET  站点导航,以创建自定义导航控件或修改在 导航菜单中显示的信息的位置。 (4)访问规则:可以配置用于在导航菜单中显示或隐藏链接的访问规则。 (5)自定义站点地图提供程序:可以创建自定义站点地图提供程序,以便使用自己的站点地 图后端(如存储链接信息的数据库),并将提供程序插入到 ASP.NET 站点导航系统。  2.站点地图 若要使用 ASP.NET 站点导航,必须描述站点结构以便站点导航 API 和站点导航控件可以正确 公开站点结构。默认情况下,站点导航系统使用一个包含站点层次结构的 XML 文件。 创建站点地图最简单方法是创建一个名为 Web.sitemap 的 XML 文件,该文件按站点的分层形 式组织页面。ASP.NET 的默认站点地图提供程序自动选取此站点地图。 尽管 Web.sitemap 文件可以引用其他站点地图提供程序或其他目录中的其他站点地图文件以及

(15)

同一应用程序中的其他站点地图文件,但该文件必须位于应用程序的根目录中。 站点地图使用举例:  <?xml version="1.0" encoding="utf­8" ?>  <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap­File­1.0" >  <siteMapNode url="Default3.aspx" title="首页"    description="">  <siteMapNode url="Default4.aspx" title="用户个人信息调查" />  <siteMapNode url="Default6.aspx" title="学生选课" />  <siteMapNode url ="Default8.aspx" title ="成绩信息浏览" />  <siteMapNode url ="Default7.aspx" title ="学生信息浏览">  <siteMapNode url ="Default9.aspx" title ="学生信息报表" />  </siteMapNode>  <siteMapNode url ="Default10.aspx" title ="用户信息管理" />  </siteMapNode>  </siteMap>  请读者自己阅读上面这个声明文件,分析该文件中描述的页面的层次关系。 3.4.2 常用的页面导航控件  1.SiteMapPath 导航控件  SiteMapPath 控件是一种站点导航控件,能显示一个导航路径(也称为面包屑或眉毛导航),此 路径为用户显示当前页的位置,并显示返回到主页的路径链接。SiteMapPath 控件包含来自站点地 图的导航数据。此数据包括有关网站中的页的信息,如  URL、标题、说明和导航层次结构中的位 置。若将导航数据存储在一个地方,则可以更方便地在网站的导航菜单中添加和删除项。  SiteMapPath 控件的应用很简单,它与普通的 Web 服务器控件应用一样,只要从工具箱导航栏 中拖出即可。在使用 SiteMapPath 控件之前,必须先创建一个站点地图(.sitemap)文件。 声明 SiteMapPath 控件的语法如下:  <asp: SiteMapPath ID = "SiteMapPathl" runat = "Server" >  </asp: SiteMapPath >  SiteMapPath 控件的常用属性如表 3­2 所示。 表 3­2  SiteMapPath 控件的常用属性 属性 说明  NodeTemplate  设置或获取一个控件模板,用于站点导航路径的所有功能节点  ParentLevelsDisplayed  设置或获取控件显示的相对于当前显示节点的父节点级别数  PathDirection  设置或获取导航路径节点的呈现顺序,它有两种排列顺序:CurrentToRoot  和  RootToCurrent。默认为 CurrentToRoot  PathSeparator  设置或获取一个字符串,该字符串在呈现的导航路径中分隔 SiteMapPath 节点  PathSeparatorTemplate  设置或获取一个控件模板,用于站点导航路径的路径分隔符。通常,自定义 模板内容包括 Image、Label 等控件 

Provider  设置或获取与 Web 服务器控件关联的 SiteMapProvider  RenderCurrentNodeAsLink  指示是否将表示当前显示页的站点导航节点呈现为超链接  RootNodeStyle  设置或获取根节点显示文本的样式 

(16)

续表 属性 说明  ShowToolTips  设置或获取一个值,该值指示  SiteMapPath  控件是否为超链接导航节点编写附 加超链接属性,根据客户端支持,在将鼠标悬停在设置了附加属性的超链接上 时,将显示相应的工具提示  Site  获取容器信息,该容器在呈现于设计图面上时承载当前控件  SiteMapProvider  设置或获取用于呈现站点导航控件的 SiteMapProvider 的名称  SkinID  设置或获取要应用于控件的外观  SkipLinkText  设置或获取一个值,用于呈现替换文字,以让屏幕阅读器跳过控件的内容  TemplateControl  设置或获取对包含该控件模板的引用 

TemplateSourceDirectory  设置或获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录 

SiteMapPath 控件的常用事件如表 3­3 所示。 表 3­3  SiteMapPath 控件的常用事件 事件 说明  DataBinding  当服务器控件绑定到数据源时发生  DisPosed  当从内存中释放服务器控件时发生,这个是请求 ASP.NET 页时服务器控件生存 周期的最后阶段  Init  当服务器控件初始化时发生。初始化是服务器控件生存周期的第一阶段 

ItemCreated  在 SiteMapNodeItem 由 SiteMapPath 创建且与其对应的 SiteMapNode 关联时发生。 该事件由 OnItemCreate 方法引发 

ItemDataBinding  在 SiteMapNodeItem 由 SiteMapPath 绑定到其基础 SiteMapNode 数据后发生,此 事件由 OnItemDataBound 方法引发 

PreRender  加载 Control 对象后、呈现之前发生  Load  当服务器控件加载到 Page 对象中时发生  Unload  当服务器控件从内存中卸载时发生 

SiteMapPath  控件中的事件最重要的两个是 ItemCreated 和 ItemDataBinding。ItemCreated 事件 是创建节点过程,ItemDataBinding 事件是数据绑定。  2.TreeView 树形导航控件  TreeView 控件由节点组成。树中的每个项都称为一个节点,它由一个 TreeNode 对象表示。 节点类型的定义如下: l 父节点:包含其他节点的节点。 l 子节点:被其他节点包含的节点。 l 叶节点:没有子节点的节点。 l 根节点:不被其他任何节点包含,同时是所有其他节点的上级的节点。 一个节点可以同时是父节点和子节点,但是不能同时为根节点、父节点和叶节点。节点为根节 点、父节点还是叶节点决定着节点的几种可视化属性和行为属性。 尽管通常的树形结构只具有一个根节点,但是 TreeView 控件允许向树形结构中添加多个根节

(17)

点。如果要在不显示单个根节点的情况下显示项列表(如同在产品类别列表中),这种控件就非常 有用。 每个节点具有一个 Text 属性和一个 Value 属性。  Text 属性的值显示在 TreeView 中,而 Value 属性用于存储有关节点的任何其他数据,如传递 到与该节点相关联的回发事件的数据。 节点可以处于以下两种状态之一:选定状态和导航状态。 默认情况下,会有一个节点处于选定状态。若要使一个节点处于导航状态,将该节点的  NavigateUrl  属性 值设 置为 空字符 串以 外的 值。 若要使 一个 节点 处于选 定状 态, 将该 节点 的  NavigateUrl 属性值设置为空字符串("")。 (1)静态数据。TreeView 控件的最简单的数据模型是静态数据。若要使用声明性语法显示静 态数据,首先在  TreeView  控件的开始标记和结束标记之间嵌套开始和结束<Nodes>标记,然后通 过在开始和结束<Nodes>标记之间嵌套<asp:TreeNode>元素来创建树结构。每个<asp:TreeNode>元 素表示树中的一个节点,并且映射到一个 TreeNode 对象。 通 过 设 置 每 个 节 点 的 <asp:TreeNode> 元 素 的 属 性 ( Attribute) 可 以 设 置 该 节 点 的 属 性 (Property) 。 若要创建子节点, 在父节点的开始和结束<asp:TreeNode>标记之间嵌套其他的<asp:  TreeNode>元素。 (2)绑定数据。TreeView  控件还可以绑定到数据。可以使用以下两种方法中的任意一种将  TreeView 控件绑定到适当的数据源类型。 方法一:TreeView  控件可以使用实现  IHierarchicalDataSource  接口的任意数据源控件,如  XmlDataSource  控件或  SiteMapDataSource  控件。若要绑定到数据源控件,将  TreeView  控件的  DataSourceID 属性设置为数据源控件的 ID 值。TreeView 控件自动绑定到指定的数据源控件。这是 绑定到数据的首选方法。

方法二:TreeView 控件还可以绑定到  XmlDocument 对象或包含关系的  DataSet 对象。若要 绑定到这些数据源中的一个,将  TreeView  控件的  DataSource  属性设置为该数据源,然后调用  DataBind()方法。 如果数据源中的每个数据项包含多个属性(Property),如包含多个属性(Attribute)的  XML  元素,在绑定到该数据源时,默认情况下节点会显示由数据项的 ToString 方法返回的值。如果遇到  XML 元素,则节点会显示该元素的名称,这样将显示该树的基础结构,但除此之外没有什么用处。 通过使用 DataBindings 集合指定树节点绑定,可以将节点绑定到特定数据项属性。DataBindings 集 合包含 TreeNodeBinding 对象,这些对象定义数据项与其绑定到的节点之间的关系。可以指定要在 节点中显示的绑定条件和数据项属性。  TreeView 控件的常用属性如表 3­4 所示。 表 3­4  TreeView 控件的常用属性 属性 说明 

AppRelativeTemplateSourceDirectory  获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对 虚拟目录 

AutoGenerateDataBindings  获取或设置一个值,该值指示 TreeView 控件是否自动生成树节点 绑定

(18)

续表 属性 说明 

CollapseImageToToolTip  获取或设置可折叠节点的指示符所显示图像的工具提示 

CollapseImageUrl  获取或设置自定义图像的 URL,该图像用作可折叠节点的指示符  CheckedNodes  获取 TreeNode 对象的集合, 这些对象表示在 TreeView 控件中显示

的选中了复选框的节点  EnableClientScript  获取或设置一个值,指示 TreeView 控件是否呈现客户端脚本以处 理展开和折叠事件  ExpandDepth  获取或设置第一次显示 TreeView 控件时所展开的层次数  ExpandImageToolTip  获取或设置可展开节点的指示符所显示图像的工具提示  ExpandImageUrl  获取或设置自定义图像 URL,该图像用作可展开节点的指示符  ImageSet  获取或设置用于 TreeView 控件的图像组  LineImagesF older  获取或设置文件夹的路径, 该文件夹包含用于连接子节点和父节点 的线条图像  MaxDataBindDepth  获取或设置要绑定到 TreeView 控件的最大树级别数  NamingContainer  获取对服务器控件的命名容器的引用,此引用创建唯一的命名空 间,以区分具有相同 Control. ID 属性值的服务器控件  NodeIndexn  获取或设置 TreeView 控件的子节点的缩进量(以像素为单位)  Nodes  获取 TreeNode 对象的集合,它表示 TreeView 控件中的根节点  NodeStyle  获取对 TreeNodeStyle 对象的引用, 该对象用于设置 TreeView 控件

中节点的默认外观 

NodeWrap  获取或设置一个值,它指示空间不足时节点中的文本是否换行  NoExpandImageUrl  获取或设置自定义图像的 URL,该图像用作不可展开节点的指示符  PathSeparator  获取或设置用于分隔由 ValuePath 属性指定的节点值的字符  PopulateNodesFromClient  获取或设置一个值,它指示是否按需从客户端填充节点数据  SelectedNode  获取表示 TreeView 控件中选定节点的 TreeNode 对象  SelectedValue  获取选定节点的值  ShowCheckBoxes  获取或设置一个值,它指示哪些节点类型将在 TreeView 控件中显 示复选框  ShowExpandCollapse  获取或设置一个值,它指示是否显示展开节点指示符  ShowLines  获取或设置一个值,它指示是否显示连接子节点和父节点的线条  TreeView 控件的常用事件如表 3­5 所示。 表 3­5  TreeView 控件的常用事件 事件 说明 

TreeNodePopulate  当其 PopulateOnDemand 属性设置为 True 的节点在 TreeView 控件中展开 时发生 

(19)

续表 事件 说明  TreeNodeDataBound  当数据项绑定到 TreeView 控件中的节点时发生  TreeNodeCollapsed  当折叠 TreeView 控件中的节点时发生  TreeNodeCheckChanged  当 TreeView 控件中的复选框在向服务器的两次发送过程之间状态有所更 改时发生  SelectedNodeChanged  当选择 TreeView 控件中的节点时发生  PreRender  在加载 Control 对象之后、呈现之前发生  3.Menu 菜单导航控件 

Menu  控件 能够 构建与  Windows  应 用 程序 类似的 菜单 。开发 人员 可以将  Menu  控 件与  SiteMapDatasource  数据源控件集成,使之可以成为站点导航菜单,而且还可以实现自定义外观、 数据绑定、事件处理等功能。  Menu 控件显示两种类型的菜单,即静态菜单和动态菜单。静态菜单始终显示在 Menu 控件中。 默认情况下,根级别(级别 0)的菜单项显示在静态菜单中。通过设置 StaticDisplayLevels 属性, 可以在静态菜单中显示更多菜单级别(静态子菜单)。级别高于  StaticDisplayLevels  属性所指定的 值的菜单项(如果有)显示在动态菜单中。仅当用户将鼠标指针置于包含动态子菜单的父菜单项上 时,才会显示动态菜单。一定的持续时间之后,动态菜单自动消失。使用 DisappearAfter 属性指定 持续时间。  Menu 控件支持以下的功能: l 数据绑定,将控件菜单项绑定到分层数据源。 l 站点导航,通过与 SiteMapDataSource 控件集成实现。 l 对 Menu 对象模型的编程访问,可动态创建菜单、填充菜单项和设置属性等。 l 可自定义外观,通过主题、用户定义图像、样式和用户定义模板实现。 用户单击菜单项时,Menu 控件可以导航到所链接的网页或直接回发到服务器。如果设置了菜 单项的 NavigateUrl 属性,则 Menu 控件导航到所链接的页;否则,该控件将页回发到服务器进行 处理。默认情况下,链接页与 Menu 控件显示在同一窗口或框架中。若要在另一个窗口或框架中显 示链接内容,则使用 Menu 控件的 Target 属性。 (1)静态菜单。最简单的 Menu 控件数据模型是静态菜单项。 若要使用声明性语法显示静态菜单项, 首先在 Menu 控件的开始和结束标记之间嵌套开始和结 束标记<Items>,然后通过在开始和结束标记<Items>之间嵌套<asp:MenuItem>元素创建菜单结构。 每个<asp:MenuItem>元素都表示控件中的一个菜单项,并映射到一个 MenuItem 对象。通过设 置菜单项的<asp:MenuItem>元素的属性(Attribute)可以设置其属性(Property) 。 若 要 创 建 子菜 单 项, 则 在 父菜 单 项的 开 始和 结 束标 记 <asp:MenuItem> 之 间嵌 套 更多 的  <asp:MenuItem>元素。 (2)动态菜单。Menu 控件可以绑定到数据。可以使用下面两种方法之一将 Menu 控件绑定 到适当的数据源类型。 方法一:Menu 控件可以使用任意分层数据源控件。 如 XmlDataSource 控件或 SiteMapDataSource 控件。若要绑定到分层数据源控件,则将 Menu

(20)

控件的 DataSourceID 属性设置为数据源控件的 ID 值。Menu 控件自动绑定到指定的数据源控件。 这是绑定到数据的首选方法。

方法二:Menu 控件还可以绑定到 XmlDocument 对象。

若要绑定到此数据源, 则将 Menu 控件的 DataSource 属性设置为该数据源, 然后调用 DataBind  方法。 在绑定到数据源时,如果数据源的每个数据项都包含多个属性(Property),(如具有多个属性 (Attribute)的 XML 元素,则菜单项默认显示数据项的 ToString 方法返回的值。对于 XML 元素, 菜单项显示其元素名称,这样可显示菜单树的基础结构,但除此之外并无用处。 通过使用  DataBindings  集合指定菜单项绑定,可以将菜单项绑定到特定数据项属性。  DataBindings 集合包含 MenuItemBinding 对象,这些对象定义数据项和它所绑定到的菜单项之间的 关系,可以指定绑定条件和要显示在节点中的数据项属性。  Menu 菜单的声明举例如下:  <asp:Menu ID="Menu1" runat="server"  Orientation="horizontal"  StaticDisplayLevels="2" Height="97px" >  <Items >  <asp:MenuItem NavigateUrl ="~/Default3.aspx"  Text ="首页" Value="首页">  <asp:MenuItem Text ="学生管理" Value="学生管理">  <asp:MenuItem NavigateUrl ="~/Default6.aspx"  Text ="学生选课" Value="学生选课" />  <asp:MenuItem NavigateUrl ="~/Default7.aspx"  Text ="学生信息浏览" Value="学生信息浏览" />  <asp:MenuItem NavigateUrl="~/Default9.aspx"  Text ="学生信息报表" />  </asp:MenuItem>  <asp:MenuItem Text ="成绩管理" Value="成绩管理">  <asp:MenuItem NavigateUrl ="~/Default8.aspx"  Text ="成绩信息浏览" />  </asp:MenuItem>  <asp:MenuItem Text ="用户管理" Value="用户管理" >  <asp:MenuItem NavigateUrl ="~/Default10.aspx"  Text ="用户信息管理" />  </asp:MenuItem>  </asp:MenuItem>  </Items>  </asp:Menu>  请读者自行阅读上面这段代码,分析菜单结构。  Menu 控件的常用属性如表 3­6 所示。 表 3­6  Menu 控件的常用属性 属性 说明  Attributes  获取与控件的属性不对应的任意特性(只用于呈现)的集合  BindingContainer  获取包含该控件的数据绑定的控件

(21)

续表 属性 说明  DisappearAfter  获取或设置鼠标指针不再置于菜单上时显示动态菜单持续时间  DynamicHorizontalOffset  获取或设置动态菜单相对于其父菜单项的水平移动像素数  DynamicEnableDefaultPopoutImage  获取或设置一个值,该值指示是否显示内置图像,其中内置图像指 示动态菜单项具有子菜单  DynamicBottomSeparatorImageUrl  获取或设置图像的 URL,该图像显示在各动态菜单项底部,将动态 菜单项与其他菜单项隔开  DynamicItemFormatString  获取或设置与所有动态显示的菜单项一起显示的附加文本  DynamicItemTemplate  获取或设置包含动态菜单自定义呈现内容的模板  DynamicPopOutlmageTextFormatString  获取或设置用于指示动态菜单项包含子菜单的图像的替换文字  DynamicPopOutImageUrl  获取或设置自定义图像的 URL,如果动态菜单项包含子菜单,该图 像则显示在动态菜单项中  DynamicTopSeparatorImageUrl  获取或设置图像的 URL,该图像显示在各动态菜单项顶部,将动态 菜单项与其他菜单项隔开  DynamicVerticalOffset  获取或设置动态菜单相对于其父菜单项的垂直移动像素数  EnableTheming  获取或设置一个值,该值指示是否对此控件应用主题  HasAttributes  获取一个值,该值指示控件是否具有属性集  ItemWrap  获取或设置一个值,该值指示菜单项的文本是否换行  MaximumDynamicDisplayLevels  获取或设置动态菜单的菜单呈现级別数,默认是 3,设置为 0 时将不 会显示任何动态菜单  NamingContainer  获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间, 以区分具有相同 Control. ID 属性值的服务器控件 

Orientation  获取或设置 Menu 控件的呈现方向,有两个选项:水平(Horizontal) 和垂直(Vertical)  PathSeparator  获取或设置用于分隔 Menu 控件的菜单项路径的字符  ScrollDownImageUrl  获取或设置动态菜单中显示的图像的 URL,以指示用户可以向下滚 动査看更多菜单项  ScrollDownText  获取或设置 ScrollDownImageUrl 属性中指定的图像的替换文字  ScrollUpImageUrl  获取或设置动态菜单中显示的图像的 URL,以指示用户可以向上滚 动查看更多菜单项  ScrollUpText  获取或设置 ScrollUpImageUrl 属性中指定的图像的替换文字  SelectedItem  获取选定的菜单项  SelectedValue  获取选定菜单项的值  StaticBottomSeparatorImageUrl  获取或设置图像的 URL,该图像在各静态菜单项底部显示为分隔符  StaticDisplayLevels  获取或设置静态菜单的菜单显示级别数  StaticEnableDefaultPopOutImage  获取或设置一个值,该值指示是否显示内置图像,其中内置图像指 示静态菜单项包含子菜单  StaticItemFormatString  获取或设置与所有静态显示的菜单项一起显示的附加文本

(22)

续表 属性 说明  StaticItemTemplate  获取或设置包含静态菜单自定义呈现内容的模板  StaticPopOutlmageTextFormatString  获取或设置用于指示静态菜单项包含子菜单的弹出图像的替换文字  StaticPopOutImageUrl  获取或设置显示来指示静态菜单项包含子菜单的图像的 URL  StaticSubMenuIndent  获取或设置静态菜单中子菜单的缩进间距(以像素为单位)  StaticTopSeparatorImageUrl  获取或设置图像的 URL,该图像在各静态菜单项顶部显示为分隔符  Menu 控件的常用事件如表 3­7 所示。 表 3­7  Menu 控件的常用事件 事件 说明  MenuItemClick  单击 Menu 控件中的菜单项时发生  MenuItemDataBound  在 Menu 控件中的菜单项绑定到数据时发生  Load  当服务器控件加载到 Page 对象中时发生  Unload  当服务器控件从内存中卸载时发生 3.4.3 XML 简介 可扩展标记语言(Extensible Markup Language,XML) ,用于标记电子文件使其具有结构性的 标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语 言。XML 是标准通用标记语言(SGML)的子集,非常适合  Web 传输。XML 提供统一的方法来 描述和交换独立于应用程序或供应商的结构化数据。  1.格式特性  XML 与 Access,Oracle 和 SQL Server 等数据库不同,数据库提供了更强有力的数据存储和分 析能力,例如数据索引、排序、查找、相关一致性等,XML 仅仅是展示数据。事实上 XML 与其 他数据表现形式最大的不同是它极其简单,这是一个看上去有点琐细的优点,但正是这点使 XML  与众不同。  XML 与 HTML 的设计区别是:XML 是用来存储数据的,重在数据本身;而 HTML 是用来定 义数据的,重在数据的显示模式。  XML 的简单使其易于在任何应用程序中读写数据,这使  XML 很快成为数据交换的唯一公共 语言,虽然不同的应用软件也支持其他的数据交换格式,但不久之后它们都将支持 XML,那就意 味着程序可以更容易地与 Windows、Mac OS、Linux 以及其他平台下产生的信息结合,然后可以很 容易加载 XML 数据到程序中并分析它,并以 XML 格式输出结果。  2.简明语法 (1)任何的起始标签都必须有一个结束标签。 (2)可以采用另一种简化语法,可以在一个标签中同时表示起始和结束标签。这种语法是在 右尖插号(>)之前紧跟一个斜线(/),例如<tag/ >。XML 解析器会将其翻译成<tag></tag>。 (3)标签必须按合适的顺序进行嵌套,所以结束标签必须按镜像顺序匹配起始标签。这好比

(23)

是将起始和结束标签看作是数学中的左右括号,在没有关闭所有的内部括号之前,是不能关闭外面 的括号的。 (4)所有的特性都必须有值。 (5)所有的特性都必须在值的周围加上双引号。  3.XML 文档格式 一个 XML 文档包括两部分:文档声明和文档主体。 如前面项目中的 XML 文档:  <?xml version="1.0" encoding="utf­8" ?>  <siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap­File­1.0" >  <siteMapNode url="Default2.aspx" title="首页"    description="">  <siteMapNode url="Default3.aspx" title="用户管理页面"    description="" />  <siteMapNode url ="" title ="学生信息管理">  <siteMapNode url ="Default4.aspx" title ="学生信息维护页面" />  <siteMapNode url ="Default5.aspx" title ="学生信息查询与统计页面" />  </siteMapNode>  <siteMapNode url ="" title ="课程信息管理">  <siteMapNode url ="Default6.aspx" title ="课程信息维护页面" />  <siteMapNode url ="Default7.aspx" title ="课程信息查询与统计页面" />  </siteMapNode>  <siteMapNode url ="" title ="成绩信息管理">  <siteMapNode url ="Default8.aspx" title ="成绩信息维护页面" />  <siteMapNode url ="Default9.aspx" title ="成绩信息查询与统计页面" />  </siteMapNode>  <siteMapNode url="Default10.aspx" title="用户个人信息调查页面"    />  </siteMapNode>  </siteMap>  在上面这段 XML 代码中,第一行<?xml version="1.0" encoding="utf­8" ?>就是文档的声明部 分,version 属性表示遵循的 XML 标准版本为 1.0,encoding 属性表示使用的编码类型是“utf­8” 字符集。 代码的其他部分为文档主体。文档的主体由开始标志<SiteMap>和结束标志</SiteMap>  组成, 这个元素称为 XML 的“根元素” ,接下来的<SiteMapNode></SiteMapNode>是“子元素” 。  XML 文档的基本结构非常容易学习和使用,它与 HTML 一样,也是由一系列的标记组成,不 过,XML 文档中的标记是自定义的,具有明确的含义。  XML 应遵循的语法规则如下: (1)所有的 XML 文档必须有一个结束标志,即 XML 的标志必须成对出现。注意,文档的声 明部分可以没有结束标志。 (2)所有的 XML 文档必须有一个根元素,XML 文档中的第一个元素(如<myXML>)就是 一个根元素。所有 XML 文档都必须包含一个单独的标记来定义根元素,其他的元素都必须成对出 现在根元素内。 (3)XML 元素是可以扩展的,但 XML 标记必须遵循下面的命名规则: l 元素的名字中可以包含字母、数字以及其他字符。 l 元素的名字不能以数字或标点符号开头。 l 名字不能以字母 xml(或 XML 或 Xml)开头。 l 名字中不能包含空格。

(24)

除此之外,任何的名字都可以使用,但元素的名字应该具有可读性,尽量避免使用“” ,非英 文字符或字符串也可以作为 XML 元素的名字,如<作者>、<书名>都是合法的元素。  4.XML 的应用 在实际应用中,各种数据库中的数据格式大都不兼容, 软件开发人员的一个主要问题就是如何 在互联网上进行系统之间的数据交换,XML 及相关技术打开了人和机器之间实现电子通信的新途 径,XML 允许人—机和机—机通信。将数据转换为 XML 文档结构可大大降低数据交换的复杂性。 在 ASP.NET 中处理 XML 格式的文档,主要是 XML 文件的导入和导出,即将数据库中的数据 导出为 XML 文档和读取 XML 文档,这些操作主要使用 DataSet 对象中的 WriteXML、ReadXML  方法来完成。  ASP.NET 提供了多种操作 XML 文档的方法。 主要有:XmlTextReader、XmlTextWrite、FileStream、DataSet 类。 (1)XmlTextReader 类:包含在 System.Xml 命名空间下,实现 XML 文档的读取、解析操作, 定义一个 XmlTextReader 类的对象,其一般格式为:  XmlTextReader  对象名=new XmlTextReader(XML 文档路径);  XmlTextReader 对象通过 Reader()方法逐行按顺序读取 XML 文档中的数据。 (2)XmlTextWrite 类:包含在 System.Xml 命名空间下,用于编写 XML 文档,其一般格式为:  XmlTextWrite  对象名=new XmlTextWrite (XML 文档名,编码格式);  (3)FileStream 类:包含在 System.IO 命名空间下,FileStream 对象为文件的读写操作提供了 通道,其一般格式为:  FileStream  对象名=new FileStream (XML 文档名,文件存取模式,参数);  (4)DataSet 对象:从 XML 文档中读取数据,或将 XML 文档中的数据存入 DataSet 对象中, 主要方法有以下几种: l  GetXml 方法:返回存储在 DataSet 中的数据的 XML 表示形式。

l  WriteXml 方法: 把 DataSet 类中数据的 XML 表示写入流、 文件、 TextWrite 或者 XMLWrite  类中。 l  WriteXmlSchema 方法:把包含 XML 信息的字符串写入到流或者文件中。 l  ReadXml 方法:利用从流或者文件中读取的指定数据填充 DataSet 类。 l  ReadXmlSchema 方法:把指定的 XML 模式信息加载到当前的 DataSet 类中。

3.5 课后思考与练习 

1.请分析 XML 与 HTML 有何相似之处?又有何差别?  2.请简述 XML 文档的结构。  3.请描述各种页面导航控件的特点。  4.练习教材中的教学实例,简要总结 Web 页面的导航方法。

參考文獻

相關文件

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定资产包

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定资产

固定资本形成总额:指固定资产(包括新、旧及场所自产自用之固定资产)之购置减固定资产销售后之数值。固定资产

线性拟合与二次拟合 数据拟合的线性模型 一次多项式拟合公式..

超定方程组QR分解算法 数据拟合确定常微分方程..

各块报告模板包括所谓的模板对象, 或对象, 每个被分配到某一 SpecManager 项目(光谱, 表格, 化学结构...) 或其它项目(文本标签)

学校现有教学仪器设备超过1亿元,学校图书馆纸质藏书125万册,电子图书

 熱水可令喉管及裝置釋 出更多雜質,應避免從 熱水水龍頭取水飲用或