XmlSiteMapProvider.Initialize(String, NameValueCollection) 方法

定义

初始化 XmlSiteMapProvider 对象。 Initialize(String, NameValueCollection) 方法并不实际生成站点地图,它只是为此而准备 XmlSiteMapProvider 对象的状态。

public:
 override void Initialize(System::String ^ name, System::Collections::Specialized::NameValueCollection ^ attributes);
public override void Initialize (string name, System.Collections.Specialized.NameValueCollection attributes);
override this.Initialize : string * System.Collections.Specialized.NameValueCollection -> unit
Public Overrides Sub Initialize (name As String, attributes As NameValueCollection)

参数

name
String

要初始化的 XmlSiteMapProvider

attributes
NameValueCollection

一个 NameValueCollection,它能够包含附加特性以帮助初始化 name。 这些特性是从 Web.config 文件中的 XmlSiteMapProvider 配置读取的。

例外

SiteMapNode 使用物理路径引用站点地图文件。

  • 或 - 在尝试分析为 siteMapFile 特性提供的虚拟路径时发生错误。

示例

下面的代码示例演示如何创建类的新实例 XmlSiteMapProvider ,并将其初始化为从 XML 数据构建站点地图。

<%@ Page Language="c#" %>  
<SCRIPT runat="server">  
 private void Page_Load(object sender, System.EventArgs e) {  
     // Create an instance of the XmlSiteMapProvider class.  
     XmlSiteMapProvider testXmlProvider = new XmlSiteMapProvider();  
     NameValueCollection providerAttributes = new NameValueCollection(1);  
     providerAttributes.Add("siteMapFile","test.sitemap");  

     // Initialize the provider with a provider name and file name.  
     testXmlProvider.Initialize("testProvider", providerAttributes);  

     // Call the BuildSiteMap to load the site map information into memory.  
     testXmlProvider.BuildSiteMap();  

     // Prints "/myvirtualdirectory/WebForm1.aspx"  
     Response.Write(testXmlProvider.RootNode.Url + "<BR>");  

     // Prints "/myvirtualdirectory/WebForm2.aspx"  
     Response.Write(testXmlProvider.CurrentNode.Url + "<BR>");  
 }  
 </SCRIPT>  

前面的代码示例使用位于 ASP.NET 应用程序的虚拟根目录中的 XML 文件。 文件采用以下格式:

<siteMap>  
  <siteMapNode title="RootNode" description="The root page." url="WebForm1.aspx">  
    <siteMapNode title="CurrentNode" description="Some sub page." url="WebForm2.aspx"/>  
  </siteMapNode>  
</siteMap>  

注解

XmlSiteMapProvider类将重写继承的 Initialize 方法,以便将多个属性(如 siteMapFile 和属性)应用于 description attributes 集合。

适用于

另请参阅