首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

我们开发的Web应用程序一般都有多个页面。通常要以某种方式创建许多相互连接的Web页面。如果在页面之间建立导航系统,终端用户就很容易以直观的方式操作应用程序。

目前,必须在许多不同的方式中选择,将应用程序的路径展示给终端用户。继续给整个应用程序添加页面时,站点导航的任务是复合的、较难完成的。

目前在Web应用程序中建立导航的方法是在页面上散布超链接。超链接一般使用包含文件或用户控件添加到Web页面中。它们也可以直接硬编码到页面上,以显示在页面的标题中或边栏上。在页面之间移动或修改页面名称时,导航的难度会加大。有时开发人员不得不进入应用程序中的每个页面,修改导航的某些方面。

ASP.NET 2.0引入了一个导航系统来解决这个问题,从而使终端用户使用应用程序的管理变得非常简单。ASP.NET中的这个新功能非常复杂,但它也可以很简单,我们可以深入控制它的各个方面。

这个新式的导航系统可以在一个XML文件中定义整个站点,该XML文件称为站点地图。在定义了新的站点地图后,就可以使用SiteMap类来编程处理它。ASP.NET 2.0中新增的另一个特性是一个新的数据提供程序,它专用于处理站点地图文件,可以把站点地图绑定到一系列基于导航的新服务器控件上。本章介绍ASP.NET 2.0中新导航系统的所有这些组件。下面将探讨站点地图。

16.1  基于XML的站点地图

站点地图并不是一个必需的元素(如后面所述),但在使用ASP.NET 2.0的新导航系统时,首先要进行的第一个步骤是为应用程序建立站点地图。站点地图是对站点结构的XML描述。

使用这个站点地图可以定义应用程序中所有页面的导航结构,以及它们的相互关系。如果根据新的站点地图标准来定义,就要使用新的SiteMap类或新的SiteMapDataSource控件与这个导航信息交互。使用SiteMapDataSource控件可以把站点地图文件中的信息绑定到各种数据绑定控件上,包括ASP.NET 2.0提供的新导航服务器控件。

要为应用程序创建新的站点地图文件,可以将站点地图或XML文件添加到应用程序中,把XML文件命名为Web.sitemap。如果选择了Site Map选项,这个文件就已经添加了。该文件命名为Web,新的扩展名是.sitemap。程序清单16-1演示了.sitemap文件的一个例子。

程序清单16-1  Web.sitemap文件示例

<?xml version="1.0" encoding="utf-8" ?>

<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >

   <siteMapNode title="Home" description="Home Page" url="Default.aspx">

      <siteMapNode title="News" description="The Latest News" url="News.aspx">

         <siteMapNode title="U.S." description="U.S. News"

          url="News.aspx?cat=us" />

         <siteMapNode title="World" description="World News"

          url="News.aspx?cat=world" />

         <siteMapNode title="Technology" description="Technology News"

          url="News.aspx?cat=tech" />

         <siteMapNode title="Sports" description="Sports News"

          url="News.aspx?cat=sport" />

      </siteMapNode>

      <siteMapNode title="Finance" description="The Latest Financial Information"

        url="Finance.aspx">

         <siteMapNode title="Quotes" description="Get the Latest Quotes"

          url="Quotes.aspx" />

         <siteMapNode title="Markets" description="The Latest Market Information"

          url="Markets.aspx">

            <siteMapNode title="U.S. Market Report"

             description="Looking at the U.S. Market" url="MarketsUS.aspx" />

            <siteMapNode title="NYSE"

             description="The New York Stock Exchange" url="NYSE.aspx" />

         </siteMapNode>

         <siteMapNode title="Funds" description="Mutual Funds"

          url="Funds.aspx" />

      </siteMapNode>

      <siteMapNode title="Weather" description="The Latest Weather"

       url="Weather.aspx" />

   </siteMapNode>

</siteMap>

这个文件有什么功能?它提供了逻辑结构,ASP.NET 2.0现在可以在导航系统的其他地方使用该结构。下面看看这个文件的构成。

这个XML文件的根节点是<siteMap>元素。该文件中只能有一个<siteMap>元素。在这个<siteMap>元素中,有一个<siteMapNode>元素。这一般是应用程序的起始页面。在程序清单16-1的文件中,根<siteMapNode>指向起始页面Default.aspx:

<siteMapNode title="Home" description="Home Page" url="Default.aspx">

表16-1描述了<siteMapNode>元素中最常见的一些属性。

表  16-1

属    性

说    明

title

title属性提供链接的文本描述。这里使用的String值是用于链接的文本

description

description属性不仅说明该链接的作用,还用于链接上的ToolTip属性。ToolTip属性是终端用户把光标停留在链接上几秒后显示出来的黄框

url

url属性描述了文件在解决方案中的位置。如果文件在根目录下,就使用文件名,例如“Default.aspx”。如果文件位于子文件夹下,就在这个属性的String值中包含该文件夹,例如,“MySubFolder/Markets.aspx”

添加了第一个<siteMapNode>后,就可以添加任意多个<siteMapNode>元素。还可以在结构中通过为父<siteMapNode>创建子元素<siteMapNode>,生成更多的链接级别。

程序清单16-1中的例子给应用程序提供了如下导航结构:

Home

   News

      U.S.

      World

      Technology

      Sports

   Finance

      Quotes

      Markets

         U.S. Market Report

         NYSE

      Funds

   Weather

可以看出,这个结构有3级。使用该文件的最简单方式是利用ASP.NET 2.0中新增的SiteMapPath服务器控件。它是专门为处理.sitemap文件而设计的。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论