Condividi tramite


SiteMap.Provider Proprietà

Definizione

Ottiene l'oggetto SiteMapProvider predefinito per la mappa del sito corrente.

public:
 static property System::Web::SiteMapProvider ^ Provider { System::Web::SiteMapProvider ^ get(); };
public static System.Web.SiteMapProvider Provider { get; }
member this.Provider : System.Web.SiteMapProvider
Public Shared ReadOnly Property Provider As SiteMapProvider

Valore della proprietà

SiteMapProvider

Il provider della mappa del sito predefinito per la classe SiteMap.

Eccezioni

La funzionalità relativa alla mappa del sito non è attivata.

Il provider predefinito specificato nella configurazione non esiste.

La funzionalità è supportata solo quando in esecuzione in modalità di attendibilità bassa o in una modalità di livello superiore.

Esempio

Nell'esempio di codice seguente viene illustrato come accedere all'oggetto predefinito SiteMapProvider per il sito usando la proprietà statica Provider .

<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
    // Navigate the SiteMap built by the default SiteMapProvider.
    Response.Write(SiteMap.RootNode.ToString() + "<BR>");

    Response.Write(SiteMap.RootNode.Url + "<BR>");
    Response.Write(SiteMap.RootNode.Title + "<BR>");

    foreach (SiteMapNode sitemapnode in SiteMap.RootNode.ChildNodes)
    {
        // Iterate through the ChildNodes SiteMapNodesCollection
        // maintained by the RootNode.
        Response.Write(sitemapnode.Url + "<BR>" );
    }

    IEnumerator providers = SiteMap.Providers.GetEnumerator();
    while (providers.MoveNext())
    {
        Response.Write(providers.Current);
        Response.Write("   ");
        Response.Write("<BR>");
    }
}
</SCRIPT>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<SCRIPT runat="server">
Private Sub Page_Load(Sender As Object, E As EventArgs)

    ' Navigate the SiteMap built by the default SiteMapProvider.
    Response.Write(SiteMap.RootNode.ToString() & "<BR>")

    Response.Write(SiteMap.RootNode.Url & "<BR>")
    Response.Write(SiteMap.RootNode.Title & "<BR>")

    Dim sitemapnode As SiteMapNode
    For Each sitemapnode In SiteMap.RootNode.ChildNodes
        ' Iterate through the ChildNodes SiteMapNodesCollection
        ' maintained by the RootNode.
        Response.Write(sitemapnode.Url & "<BR>" )
    Next

    Dim providers As IDictionaryEnumerator = SiteMap.Providers.GetEnumerator()
    While (providers.MoveNext())
        Response.Write(providers.Current)
        Response.Write("   ")
        Response.Write("<BR>")
    End While
End Sub ' Page_Load

</SCRIPT>

Commenti

Per impostazione predefinita, l'oggetto XmlSiteMapProvider viene utilizzato e i dati di navigazione del sito vengono caricati dal file Web.sitemap che si trova nella directory radice del sito. Questa operazione viene identificata nelle classi di gestione che gestiscono la configurazione della struttura di spostamento del sito e la sezione di configurazione della mappa del sito dei file Web.config. Per impostazione predefinita, è un'istanza della XmlSiteMapProvider classe , che usa il file Web.sitemap come archivio permanente. È tuttavia possibile implementare uno schema di configurazione e di archiviazione della mappa del sito personalizzato scrivendo una classe che implementa la classe astratta SiteMapProvider . Per altre informazioni sulla scrittura del proprio provider, vedere SiteMapProvider.

Si applica a

Vedi anche