ASP.NET 2.0站点地图搭建网站导航结构
2008-02-22 09:36:17来源:互联网 阅读 ()
![新老客户大回馈,云服务器低至5折](/info/templets/default/images/760x90_D.jpg)
一、 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 | 通过使用安全整修(后面将讨论),这个属性指定允许存取这个页面的角色。 |
这就构成了你的站点地图。现在你可以把使用它作为导航目的。
二、 使用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页面。
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 |