XmlSiteMapProvider.Initialize(String, NameValueCollection) Metodo

Definizione

Inizializza l'oggetto XmlSiteMapProvider. Il Initialize(String, NameValueCollection) metodo non crea effettivamente una mappa del sito, ma prepara solo lo stato dell'oggetto XmlSiteMapProvider a tale scopo.

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

Oggetto NameValueCollection che può contenere attributi aggiuntivi per l'inizializzazione namedi . Questi attributi vengono letti dalla XmlSiteMapProvider configurazione nel file Web.config.

Eccezioni

L'oggetto XmlSiteMapProvider viene inizializzato più volte.

Oggetto SiteMapNode utilizzato un percorso fisico per fare riferimento a un file della mappa del sito.

oppure

Si è verificato un errore durante il tentativo di analizzare il 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>

Nell'esempio di codice precedente viene utilizzato 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