快速业务通道

ASP.NET 2.0站点导航功能之建立导航

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-05-21
readcrumb,用于显示终端用户处于相对于站点结 构的具体位置。例如,在访问Amazon.com站点的Novels部分时,一个breadcrumb 显示可能是这个样子:Home>Books>Novels。

2. TreeView-用一个可展开的树显示站点的结构。

3. Menu-使用一菜单显示站点的结构。

4. 在显示站点导航时,TreeView控件和Menu控件都使用SiteMapDataSource 控件来读取站点地图的内容。

在底层实现上,这些控件调用了ASP.NET 2.0的站点导航API。既然该站点导 航部分是用提供者模型来实现的,那么,该控件在怎样串行化站点地图的内部实 现原理是易于理解的。也就是说,不管你是否使用缺省的站点地图或滚动你自己 定制的站点地图逻辑,导航控件都可以用于同你的站点地图一道工作。(假定, 如果你想使用一个定制的站点地图,那么你确实需要创建一个类-它提供所想要 的方法和属性以与站点地图一起工作;更细致的讨论见下一篇文章)。

四、定义站点地图

一张站点地图由一系列相联系的SiteMapNode对象组成。这些SiteMapNode以 一种层次方式(在本文的开始已说明)联系在一起。该层次包含单个根结点-它是 该层中唯一的一个没有父结点的结点。在该层上的每个结点代表网站的一个逻辑 部分。每一部分都有一个标题,URL,描述等-它用SiteMapNodes类的属性(Title ,Url,Description等)建模。

这些SiteMapNode对象的层次正说明了站点地图是怎样在内存中描述的-当通 过ASP.NET 2.0的站点导航API对它进行分析时。然而,这个站点地图必须被以某 种方式进行物理地串行化-如通过一个XML文件或通过一个数据库表。默认地, ASP.NET 2.0使用一个XML格式的文件以提供一个缺省的实现来串行化该站点地图 。为使用这种技术,你需要在你的web应用程序的根目录Web.sitemap下创建一个 XML文件-它具有下列结构:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File -1.0">
  <siteMapNode attributes>
  <siteMapNode attributes>
  <siteMapNode attributes>
  ...
</siteMapNode>
<siteMapNode attributes />
  ...
<siteMapNode attributes />
</siteMapNode>
</siteMap>

提示:关于创建Web.sitemap文件

利用Visual Studio 2005,你能容易地创建这个站点地图文件-这是通过在解 决方案资源管理器的该网站上单击鼠标右键并选择"Add New Item",然后选择该 站点地图图标来实现的。请确保文件名为Web.sitemap。新建的文件有几个 <siteMapNode>XML元素-类似于上面的XML片断。

<siteMapNode>元素可以有多个属性,最常用的有:

1. title-指定这个节的标题。

2. url-指定某个部分的URL;是可选的,但是如果提供的话,站点地图中的 每一个URL必须是唯一的。

3. description-这部分的可选描述;用在生成的导航控件的alt属性中。

<siteMapNode>元素可以嵌套到任何深度;然而,站点地图必须包含一 根<siteMapNode>元素。也就是说,<siteMap>结点必须有且只有一 个<siteMapNode>元素子结点。

下列的站点地图文件显示出简单部分中所说Amazon.com示例的站点结构(根据 本文最后所提供的内容,你可以把这个文件以及一个完整的能够进行站点导航的 ASP.NET 2.0网站装载到你的计算机上去)。

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File -1.0" >
  <siteMapNode url="~/default.aspx" title="Home">
  <siteMapNode url="~/Books/default.as

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号