XmlSiteMapProvider.Initialize(String, NameValueCollection) Metodo

Definizione

Inizializza l'oggetto XmlSiteMapProvider. Il metodo Initialize(String, NameValueCollection) non compila realmente una mappa del sito, prepara soltanto lo stato della classe XmlSiteMapProvider all'esecuzione di questa operazione.

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)

Parametri

name
String

Oggetto XmlSiteMapProvider da inizializzare.

attributes
NameValueCollection

Classe NameValueCollection in grado di contenere attributi aggiuntivi per consentire l'inizializzazione del parametro name. Tali attributi vengono letti dalla configurazione della classe XmlSiteMapProvider nel file Web.config.

Eccezioni

La classe XmlSiteMapProvider viene inizializzata più volte.

La classe SiteMapNode utilizza un percorso fisico per fare riferimento a un file della mappa del sito.

-oppure-

Si è verificato un errore durante un tentativo di analisi del percorso virtuale fornito per l'attributo siteMapFile.

Esempio

Nell'esempio di codice seguente viene illustrato come creare una nuova istanza della XmlSiteMapProvider classe e inizializzarla per compilare una mappa del sito dai dati 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>  

L'esempio di codice precedente usa un file XML che si trova nella radice virtuale dell'applicazione ASP.NET. Il file ha il formato seguente:

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

Commenti

La XmlSiteMapProvider classe esegue l'override del metodo ereditato Initialize per applicare diversi attributi, ad esempio gli siteMapFile attributi e description , alla attributes raccolta.

Si applica a

Vedi anche