XmlSiteMapProvider.Initialize(String, NameValueCollection) Método

Definición

Inicializa el objeto XmlSiteMapProvider. El Initialize(String, NameValueCollection) método no crea realmente un mapa de sitio, solo prepara el estado de para XmlSiteMapProvider hacerlo.

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

que XmlSiteMapProvider se va a inicializar.

attributes
NameValueCollection

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

Excepciones

XmlSiteMapProvider se inicializa más de una vez.

SiteMapNode Se usa una ruta de acceso física para hacer referencia a un archivo de mapa de sitio.

O bien

Error al intentar analizar la ruta de acceso virtual proporcionada para el siteMapFile atributo .

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