SiteMap Sınıf
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.
SiteMap sınıfı, bir veya daha fazla site haritası sağlayıcısı tarafından sağlanan bir site için gezinti yapısının bellek içi gösterimidir. Bu sınıf devralınamaz.
public ref class SiteMap abstract sealed
public static class SiteMap
type SiteMap = class
Public Class SiteMap
- Devralma
-
SiteMap
Örnekler
Bu bölüm iki kod örneği içerir. İlk kod örneği, bir Web.config dosyasında site haritası sağlayıcısının nasıl bildir yapılacağını gösterir. İkinci kod örneği, bir SiteMap nesnenin nasıl kullanılacağını gösterir.
Aşağıdaki kod örneği, bir nesnenin varsayılan SiteMapProvider nesne olarak nasıl bildirildiğini gösteren bir XmlSiteMapProvider Web.config yapılandırma bölümüdür.
<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">
<providers>
<add name="MyXmlSiteMapProvider"
description="The site map provider that reads in the .sitemap XML files."
type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
siteMapFile="my.sitemap" />
</providers>
</siteMap>
Aşağıdaki kod örneği, ve CurrentNode özellikleri hakkında bilgi görüntülemek için statik üyelerine erişerek nesnesinin RootNode nasıl kullanılacağını SiteMap gösterir. Bunu, denetim tarafından işlenen çıkışla karşılaştırın SiteMapPath .
<%@ 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)
{
// 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>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:SiteMapPath
runat="server"
ID="SiteMapPath1"
ShowToolTips="false"/>
</form>
</body>
</html>
<%@ 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 System.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>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>ASP.NET Example</title>
</head>
<body>
<form id="Form1" runat="server">
<asp:SiteMapPath
runat="server"
ID="SiteMapPath1"
ShowToolTips="false"/>
</form>
</body>
</html>
Açıklamalar
Site haritaları, kullanıcıların bir Web sitesinde gezinmesi SiteMapDataSourceiçin etkili bir gezinti arabirimini işlemek üzere , SiteMapPathve diğer denetimlerle birlikte kullanılır. SiteMap Nesne, ASP.NET site gezinti altyapısının, sayfa için salt okunur site haritası bilgilerine erişim sağlayan bir bileşenidir ve gezinti ve SiteMapDataSource denetimleri kullanarak geliştiricileri denetler. ASP.NET site gezinti altyapısının diğer bileşenleri arasında SiteMapProvider ve XmlSiteMapProvider sınıfları, Web.site haritası dosyası ve içerik ve menüleri işlemek için denetim gibi SiteMapPath sınıfla SiteMap çalışan çeşitli denetimler bulunur.
çeşitli SiteMap işlevlere sahiptir:
Site gezinti hiyerarşisinin kök düğümünü sağlar (yalnızca bir kök düğüm olabilir).
Hangi site haritası sağlayıcısının sorumlu veya varsayılan sağlayıcı olduğunu belirler.
oluşturmak SiteMapiçin kullanılan tüm sağlayıcı nesnelerini izler.
Temel olarak, SiteMap hiyerarşik bir nesne koleksiyonuna yönelik bir kapsayıcıdır SiteMapNode . Ancak, SiteMap düğümler arasındaki ilişkileri korumaz; bunun yerine bunu site haritası sağlayıcılarına devreder. , SiteMap bu site haritası sağlayıcıları tarafından tutulan site gezinti bilgilerine (nesneler biçiminde SiteMapNode ) yönelik bir arabirim görevi görür. Site gezinti verilerine erişebildiği sağlayıcıları izler ve koleksiyonunu kullanıma sunar Providers . Sağlayıcı, site haritası bilgilerini herhangi bir şekilde depolayabilir. Soyut sınıfını genişletebildiği SiteMapProvider sürece, SiteMap sınıf ondan başarıyla başlatılabilir.
Sınıfın SiteMap varsayılan sağlayıcısı, Web.sitemap adlı bir XML yapılandırma dosyasıyla çalışan sınıfıdır XmlSiteMapProvider . Ancak, kendi SiteMapProvider nesnenizi yazabilir ve sitenizin site haritasını başlatmak için kullanabilirsiniz. Özel site haritası sağlayıcısı örneği için bkz SiteMapProvider. .
Site gezinti yapılandırmasını yöneten varsayılan bir site haritası yapılandırması belirtilir. Kendi site haritası sağlayıcınızı yazmayı seçerseniz, Web.config dosyasında bu yapılandırmayı geçersiz kılabilirsiniz.
SiteMap sınıfı yalnızca performans için statik üyeler sunar ve belirli bir sitede herhangi bir zamanda bir Web Formu veya Web sunucusu denetiminden erişilebilir.
Özellikler
CurrentNode |
şu anda istenen sayfayı temsil eden bir SiteMapNode denetim alır. |
Enabled |
Web.config dosyasında bir site haritası sağlayıcısının belirtilip belirtilmediğinde ve site haritası sağlayıcısının etkinleştirilip etkinleştirilmediğini gösteren bir Boole değeri alır. |
Provider |
Geçerli site haritası için varsayılan SiteMapProvider nesneyi alır. |
Providers |
sınıfı için SiteMap kullanılabilen adlandırılmış SiteMapProvider nesnelerin salt okunur bir koleksiyonunu alır. |
RootNode |
Site için gezinti yapısının en üst düzey sayfasını temsil eden bir SiteMapNode nesnesi alır. |
Ekinlikler
SiteMapResolve |
özelliğine CurrentNode erişildiğinde gerçekleşir. |