Compartir a través de


XmlSiteMapProvider.Initialize(String, NameValueCollection) Método

Definición

Inicializa el objeto XmlSiteMapProvider. El método Initialize(String, NameValueCollection) realmente no crea un mapa del sitio, se limita a preparar el estado del objeto XmlSiteMapProvider para que lo haga.

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)

Parámetros

name
String

XmlSiteMapProvider que se va a inicializar.

attributes
NameValueCollection

NameValueCollection que puede contener atributos adicionales para ayudar a inicializar name. Estos atributos se leen de la configuración XmlSiteMapProvider del archivo Web.config.

Excepciones

Se inicializa XmlSiteMapProvider más de una vez.

Un nodo SiteMapNode ha utilizado una ruta de acceso física para hacer referencia a un archivo de mapa del sitio.

o bien

Se ha producido un error al intentar analizar la ruta de acceso virtual del atributo siteMapFile.

Ejemplos

En el ejemplo de código siguiente se muestra cómo crear una nueva instancia de la XmlSiteMapProvider clase e inicializarla para crear un mapa de sitio a partir de datos 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>  

En el ejemplo de código anterior se usa un archivo XML que se encuentra en la raíz virtual de la aplicación ASP.NET. El archivo tiene el formato siguiente:

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

Comentarios

La XmlSiteMapProvider clase invalida el método heredado Initialize para aplicar varios atributos, como los siteMapFile atributos y description , a la attributes colección.

Se aplica a

Consulte también