XmlSiteMapProvider.Initialize(String, NameValueCollection) Metoda

Definicja

Inicjuje XmlSiteMapProvider obiekt. Metoda Initialize(String, NameValueCollection) nie tworzy mapy lokacji, przygotowuje tylko stan XmlSiteMapProvider do wykonania.

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)

Parametry

name
String

Element XmlSiteMapProvider do zainicjowania.

attributes
NameValueCollection

Element NameValueCollection , który może zawierać dodatkowe atrybuty ułatwiające inicjowanie nameprogramu . Te atrybuty są odczytywane z XmlSiteMapProvider konfiguracji w pliku Web.config.

Wyjątki

Element XmlSiteMapProvider jest inicjowany więcej niż raz.

Użyto SiteMapNode ścieżki fizycznej do odwołania się do pliku mapy witryny.

-lub-

Wystąpił błąd podczas próby przeanalizowanie ścieżki wirtualnej podanej dla atrybutu siteMapFile .

Przykłady

W poniższym przykładzie kodu pokazano, jak utworzyć nowe wystąpienie XmlSiteMapProvider klasy i zainicjować ją w celu utworzenia mapy witryny na podstawie danych 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>  

Powyższy przykład kodu używa pliku XML znajdującego się w wirtualnym katalogu głównym aplikacji ASP.NET. Plik ma następujący format:

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

Uwagi

Klasa XmlSiteMapProvider zastępuje dziedziczona Initialize metodę, aby zastosować kilka atrybutów, takich jak siteMapFile atrybuty i description , do kolekcji attributes .

Dotyczy

Zobacz też