XmlSiteMapProvider 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
XmlSiteMapProvider 类是从 SiteMapProvider 类派生的,并且是 ASP.NET 的默认站点地图提供者。 XmlSiteMapProvider 类根据文件扩展名为 .sitemap 的 XML 文件生成站点地图树。
public ref class XmlSiteMapProvider : System::Web::StaticSiteMapProvider, IDisposable
public class XmlSiteMapProvider : System.Web.StaticSiteMapProvider, IDisposable
type XmlSiteMapProvider = class
inherit StaticSiteMapProvider
interface IDisposable
Public Class XmlSiteMapProvider
Inherits StaticSiteMapProvider
Implements IDisposable
- 继承
- 实现
注解
类 XmlSiteMapProvider 从遵循已知架构的 XML 文件加载站点地图数据。 站点地图数据由 <siteMap>
标记绑定,由嵌套 <siteMapNode>
标记组成。 和 XmlSiteMapProvider 类对站点地图数据的结构施加SiteMapProvider了两个约束:
只能存在一个根节点。
对于 SiteMapNode 指定 URL 的对象,URL 在提供程序的范围内必须是唯一的。 (对于未指定 URL 的节点,所有键都必须是唯一的。)
下面的代码示例演示可与 一起使用的 XML 文件的示例 XmlSiteMapProvider。
<siteMap>
<siteMapNode title="RootNode" description="This is the root node of the site map. There can be only one root node." url="Page1.aspx" >
<siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page2.aspx">
<siteMapNode title="ChildOfChildNode" description="SiteMapNode objects can be nested to any level." url="Page3.aspx"/>
</siteMapNode>
<siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page4.aspx"/>
</siteMapNode>
</siteMap>
XmlSiteMapProvider是 ASP.NET 的默认提供程序,它从位于 ASP.NET 应用程序的目录结构中的名为 Web.sitemap 的文件读取 XML 数据。 默认情况下,Web.sitemap 文件位于应用程序根目录中;但是,如果要更改从 XmlSiteMapProvider 中加载数据的文件的名称或位置,则可以替代 Web.config 文件中的默认配置。 通过替代 Web.config 文件中的默认配置设置,可以根据需要为每个 ASP.NET 应用程序定制 的行为 XmlSiteMapProvider 。
下面的代码示例演示了 Web.config 文件的示例,其中 XmlSiteMapProvider 仍使用 ,但使用了不同的站点地图文件。 由于 对象中的所有 SiteMapProviderCollection 提供程序都必须以唯一方式命名,因此在 Web.config 文件中指定的提供程序使用默认提供程序以外的名称,但也设置为默认提供程序,以便使用它而不是 XmlSiteMapProvider 在默认 ASP.NET 配置中指定的 。
注意
您可以更改网站导航数据文件的名称,但不能更改其扩展名。 XmlSiteMapProvider仅从以文件扩展名 .sitemap 命名的文件读取数据。
<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">
<providers>
<add name="MyXmlSiteMapProvider"
description="SiteMap provider that reads in .sitemap files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="CustomWeb.sitemap" />
</providers>
</siteMap>
构造函数
XmlSiteMapProvider() |
创建 XmlSiteMapProvider 类的未命名的新实例。 |
属性
CurrentNode |
获取表示当前请求页的 SiteMapNode 对象。 |
CurrentNode |
获取表示当前请求页的 SiteMapNode 对象。 (继承自 SiteMapProvider) |
Description |
获取一条简短的易懂描述,它适合在管理工具或其他用户界面 (UI) 中显示。 (继承自 ProviderBase) |
EnableLocalization |
获取或设置一个布尔值,该值指示是否返回 SiteMapNode 特性的本地化的值。 (继承自 SiteMapProvider) |
Name |
获得一个友好名称,用于在配置过程中引用提供程序。 (继承自 ProviderBase) |
ParentProvider |
获取或设置当前提供程序的父 SiteMapProvider 对象。 (继承自 SiteMapProvider) |
ResourceKey |
获取或设置用于本地化 SiteMapNode 特性的资源键。 (继承自 SiteMapProvider) |
RootNode |
获取站点地图的根节点。 |
RootProvider |
获取当前提供程序层次结构中的根 SiteMapProvider 对象。 (继承自 SiteMapProvider) |
SecurityTrimmingEnabled |
获取一个布尔值,该值指示站点地图提供程序是否根据用户的角色筛选站点地图节点。 (继承自 SiteMapProvider) |
方法
事件
SiteMapResolve |
当调用 CurrentNode 属性时发生。 (继承自 SiteMapProvider) |