SiteMap.CurrentNode Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
şu anda istenen sayfayı temsil eden bir SiteMapNode denetim alır.
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
Özellik Değeri
SiteMapNode Şu anda istenen sayfayı temsil eden bir örnek; aksi takdirde, null
site haritası bilgilerinde temsili bir düğüm yoksa.
Özel durumlar
Site haritası özelliği etkinleştirilmedi.
Yapılandırmada belirtilen varsayılan sağlayıcı yok.
Bu özellik yalnızca Düşük güven veya daha yüksek bir değerde çalışırken desteklenir.
Örnekler
Aşağıdaki kod örneği, geçerli sayfayı CurrentNode temsil eden nesneyi almak SiteMapNode için özelliğinin nasıl kullanılacağını gösterir.
<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>
Açıklamalar
sınıfı, SiteMap sağlayıcıdan isteyerek özelliğini alır CurrentNode .
Site haritası bilgilerinde sayfa için temsili düğüm yoksa veya güvenlik kırpması etkinse ve geçerli kullanıcı için düğüm döndürülemiyorsa döndürülür null
.
Olay SiteMapResolve , bir veya daha fazla abonelik varsa varsayılan site haritası sağlayıcısı tarafından oluşturulur.
Kendi SiteMapProvider nesnenizi uygularsanız, bulmak ve almak CurrentNodeiçin kendi mekanizmanızı oluşturabilirsiniz. Ancak, sınıfını StaticSiteMapProvider genişletir ve sayfaları tanımlamak için URL tabanlı bir düzen kullanırsanız, yöntemini geçersiz kılabilirsiniz FindSiteMapNode .