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> 标记组成。 站点地图数据的结构和SiteMapProvider类施加XmlSiteMapProvider了两个约束:
只有一个根节点可以存在。
对于 SiteMapNode 指定 URL 的对象,URL 必须在提供程序的范围内是唯一的。 (对于未指定 URL 的节点,所有键都必须是唯一的。
下面的代码示例演示可与 <
<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 文件中指定的提供程序使用默认提供程序以外的名称,但也设置为默认提供程序,以便使用它而不是默认 ASP.NET 配置中指定的 XmlSiteMapProvider。
注释
可以更改网站导航数据文件的名称,但不能更改其扩展名。 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) |