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

name の初期化を支援する追加属性を含む NameValueCollection。 これらの属性は、Web.config ファイルの XmlSiteMapProvider 構成から読み取られます。

例外

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メソッドをオーバーライドして、 属性や description 属性などのsiteMapFile複数の属性をコレクションにattributes適用します。

適用対象

こちらもご覧ください