Condividi tramite


SiteMap.CurrentNode Proprietà

Definizione

Ottiene un controllo SiteMapNode che rappresenta la pagina attualmente richiesta.

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

Valore della proprietà

Istanza SiteMapNode che rappresenta la pagina attualmente richiesta; in caso contrario, null se non esiste alcun nodo rappresentativo nelle informazioni relative alla mappa del sito.

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 usare la CurrentNode proprietà per recuperare l'oggetto SiteMapNode che rappresenta la pagina corrente.

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
    // Examine the CurrentNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.CurrentNode.Title + "<br />");
    Response.Write("<font COLOR='red'>" + SiteMap.CurrentNode.Url + "</font><br />");

    // What nodes are children of the CurrentNode?
    if (SiteMap.CurrentNode.HasChildNodes) {
        IEnumerator childNodesEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator();
        while (childNodesEnumerator.MoveNext()) {
            // Prints the Title of each node.
            Response.Write(childNodesEnumerator.Current.ToString() + "<br />");
        }
    }
    Response.Write("<hr />");

    // Examine the RootNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.RootNode.Title + "<br />");
    Response.Write(SiteMap.RootNode.Url + "<br />");

    // What nodes are children of the RootNode?
    if (SiteMap.RootNode.HasChildNodes) {
        IEnumerator rootNodesChildrenEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator();
        while (rootNodesChildrenEnumerator.MoveNext()) {
            // Prints the Title of each node.
            Response.Write(rootNodesChildrenEnumerator.Current.ToString() + "<br />");
        }
    }
}
</script>
<script runat="server">

Private Sub Page_Load(sender As Object, e As EventArgs)

    ' Examine the CurrentNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.CurrentNode.Title & "<br />")
    Response.Write("<font COLOR='red'>" & SiteMap.CurrentNode.Url & "</font><br />")

    ' What nodes are children of the CurrentNode?
    If (SiteMap.CurrentNode.HasChildNodes) Then
        Dim ChildNodesEnumerator As IEnumerator = SiteMap.CurrentNode.ChildNodes.GetEnumerator()
        While (ChildNodesEnumerator.MoveNext())
            ' Prints the Title of each node.
            Response.Write(ChildNodesEnumerator.Current.ToString() & "<br />")
        End While
    End If
    Response.Write("<hr />")

    ' Examine the RootNode, and navigate the SiteMap relative to it.
    Response.Write(SiteMap.RootNode.Title & "<br />")
    Response.Write(SiteMap.RootNode.Url & "<br />")

    ' What nodes are children of the RootNode?
    If (SiteMap.RootNode.HasChildNodes) Then
        Dim RootNodesChildrenEnumerator As IEnumerator = SiteMap.RootNode.ChildNodes.GetEnumerator()
        While (RootNodesChildrenEnumerator.MoveNext())
            ' Prints the Title of each node.
            Response.Write(RootNodesChildrenEnumerator.Current.ToString() & "<br />")
        End While
    End If

End Sub ' Page_Load
</script>

Commenti

La SiteMap classe recupera la CurrentNode proprietà richiedendole dal provider.

Se non esiste alcun nodo rappresentativo per la pagina nelle informazioni sulla mappa del sito o se il ritaglio della sicurezza è abilitato e il nodo non può essere restituito per l'utente corrente, null viene restituito.

L'evento SiteMapResolve viene generato dal provider predefinito del mapping del sito se esiste una o più sottoscrizioni.

Se si implementa il proprio SiteMapProvider oggetto, è possibile creare un meccanismo personalizzato per trovare e recuperare .CurrentNode Tuttavia, se si estende la classe e si usa uno schema basato su URL per identificare le pagine, è possibile eseguire l'override StaticSiteMapProvider del FindSiteMapNode metodo.

Si applica a

Vedi anche