SiteMap.CurrentNode Properti
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
SiteMapNode Mendapatkan kontrol yang mewakili halaman yang saat ini diminta.
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
Nilai Properti
SiteMapNode Instans yang mewakili halaman yang saat ini diminta; jika tidak, , null
jika tidak ada simpul perwakilan dalam informasi peta situs.
Pengecualian
Fitur peta situs tidak diaktifkan.
Penyedia default yang ditentukan dalam konfigurasi tidak ada.
Fitur ini hanya didukung saat berjalan dalam kepercayaan Rendah atau lebih tinggi.
Contoh
Contoh kode berikut menunjukkan cara menggunakan CurrentNode properti untuk mengambil SiteMapNode objek yang mewakili halaman saat ini.
<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>
Keterangan
Kelas SiteMap mengambil CurrentNode properti dengan memintanya dari penyedia.
Jika tidak ada simpul perwakilan yang ada untuk halaman di informasi peta situs, atau jika pemangkasan keamanan diaktifkan dan simpul tidak dapat dikembalikan untuk pengguna saat ini, null
dikembalikan.
Peristiwa SiteMapResolve ini dimunculkan oleh penyedia peta situs default jika ada satu atau beberapa langganan.
Jika Anda menerapkan objek Anda sendiri SiteMapProvider , Anda dapat membuat mekanisme Anda sendiri untuk menemukan dan mengambil CurrentNode. Namun, jika Anda memperluas StaticSiteMapProvider kelas dan menggunakan skema berbasis URL untuk mengidentifikasi halaman, Anda dapat mengambil alih metode .FindSiteMapNode