ASP.NET 2.0站点地图搭建网站导航结构

2008-02-22 09:36:17来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

  如果你曾经到过陌生的目的地旅行过,那么你一定知道地图的重要性—它们能够帮助使你的旅行更舒适些。这个道理对于网站来说是同样的。一个网站应该呈现给访问者一种简单而灵活的导航结构以便它们能够容易地导航到该网站的不同部分。ASP.NET 2.0提供了一种称为SiteMap的特征—它帮助你实现这一功能。本文将解释什么是站点地图并且描述如何开发使用它们的网站导航结构。

  一、 SiteMap

  一个站点地图是一个XML文件(具有一个.sitemap扩展名)—它能够详细地描述你的网站的整个导航布局。你可以使用站点地图文件来满足你的一切要求。

  一个示例将有助于解释站点地图文件。图1显示了一个示例网站的目录结构。


图1:网站结构

  图中,首页(Default.aspx)和Contact Us页面(contact.aspx)位于网站的根文件夹下。还有两个分别称为Products和Services的子文件夹。每一个子文件夹下都有两个Web表单:分别相应于Product1.aspx和Product2.aspx,以及Service1.aspx和Service2.aspx。

  现在,只要遵循如下的步骤,你就可以使用一个站点地图来描述这个网站的结构:

  1. 使用VS.NET 2005创建一个新网站。

  2. 右击该网站并且选择“Add New Item...”。

  3. 从“Add New Item...”对话框中选择Site Map(见图2)并且命名它为Web.sitemap。


图2:添加一个新的站点地图

  Key in the following XML markup in the web.sitemap file:

<?xml version="1.0" encoding="utf-8" ?>
<siteMap xmlns="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0" >
<siteMapNode url="default.aspx" title="Home" description="My Web Site">
 <siteMapNode url="~/products/default.aspx" title="Products">
 <siteMapNode url="~/products/product1.aspx" title="First Product" />
 <siteMapNode url="~/products/product2.aspx" title="Second Product" />
</siteMapNode>
<siteMapNode url="~/services/default.aspx" title="Services">
 <siteMapNode url="~/services/service1.aspx" title="First Service" />
 <siteMapNode url="~/services/service2.aspx" title="Second Service" />
</siteMapNode>
<siteMapNode url="contact.aspx" title="Contact Us" />
</siteMapNode>
</siteMap>

  站点地图文件的根是siteMap。它包含一个结点siteMapNode,并且根据你的网站结构,它可以包含若干siteMapNode结点。

  这个siteMapNode标签具有四个重要的属性(参见表格1)。

属性 描述
title 显示页面的标题。这个属性经常由导航控件用于显示URL的标题。
url 显示这个结点描述的页面的 URL。
description 指定关于这个页面的描述。你可以使用这个描述来显示提示内容。
roles 通过使用安全整修(后面将讨论),这个属性指定允许存取这个页面的角色。
    表格1:<siteMapNode>标签的重要属性

  这就构成了你的站点地图。现在你可以把使用它作为导航目的。
  二、 使用SiteMap的方式

  你可以以三种常见方式来使用在前一节所创建的站点地图文件:

  · 使用SiteMapPath控件

  · 使用SiteMap数据源控件

  · 使用SiteMap类

  这个SiteMapPath控件允许你生成breadcrumb。图3显示出什么是breadcrumb。


图3:Breadcrumb导航

  SiteMapPath控件显示各种层级的导航。例如,你可以点击父或根级别以往回导航或转到顶层。当然,你也可以定制导航层次。

  ASP.NET 2.0中还带有一组良好的导航控件,包括TreeView和菜单。借助于SiteMap数据源控件,你可以把站点地图文件与这些控件绑定到一起。

  有些情况下,内置的导航控件可能无法满足你的要求。在这种情况中,你可以以编程方式存取这个站点地图文件并且读各种siteMapNode结点。然后,你可以生成一个定制的导航结构—使用siteMapNode的title和URL属性。

  三、 使用SiteMapPath控件

  在详细讨论细节前,让我们首先创建我们需要的目录结构和Web表单。首先,把两个文件夹Products和Services添加到网站。然后,添加一个新的Master页面MasterPage.master。接着添加显示在表格2中的Web表单,并且确保当你添加它们时都为其设置master页面。

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:ASP.NET2.0中配置文件的加密与解密

下一篇:.Net 2.0 原汁原味读取注册表

Web表单名 文件夹
Default.aspx Website root
Contact.aspx Website root
Default.aspx Products
Product1.aspx Products
Product2.aspx Products
Default.aspx Services
Service1.aspx Services
Service2.aspx Services