XmlSiteMapProvider.Initialize(String, NameValueCollection) Metod

Definition

Initierar XmlSiteMapProvider-objektet. Metoden Initialize(String, NameValueCollection) skapar faktiskt inte en webbplatskarta, den förbereder bara tillståndet för XmlSiteMapProvider att göra det.

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)

Parametrar

name
String

Att XmlSiteMapProvider initiera.

attributes
NameValueCollection

En NameValueCollection som kan innehålla ytterligare attribut för att initiera name. De här attributen läse från konfigurationen XmlSiteMapProvider i filen Web.config.

Undantag

XmlSiteMapProvider Initieras mer än en gång.

En SiteMapNode använd fysisk sökväg för att referera till en webbplatsmappningsfil.

-eller-

Ett fel uppstod vid försök att parsa den virtuella sökväg som angetts för siteMapFile attributet.

Exempel

Följande kodexempel visar hur du skapar en ny instans av klassen och initierar den XmlSiteMapProvider för att skapa en webbplatsöversikt från XML-data.

<%@ 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>

I föregående kodexempel används en XML-fil som finns i den virtuella roten i ASP.NET-programmet. Filen har följande format:

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

Kommentarer

Klassen XmlSiteMapProvider åsidosätter den ärvda Initialize metoden för att tillämpa flera attribut, till exempel attributen siteMapFile och descriptionattributes samlingen.

Gäller för

Se även