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 bir 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 XmlSiteMapProvider nesne olarak nasıl bildirildiğini gösteren bir SiteMapProvider 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 SiteMap özellikleriyle ilgili bilgileri görüntülemek için statik üyelerine erişerek nesnesinin RootNode nasıl kullanılacağını CurrentNode 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ı, SiteMapDataSource, ve diğer denetimlerle SiteMapPathbirlikte kullanıcıların web sitesinde gezinmesi için etkili bir gezinti arabirimi oluşturmak için kullanılır. SiteMap nesnesi, gezinti ve SiteMapDataSource denetimlerini kullanarak sayfa ve denetim geliştiricileri için salt okunur site haritası bilgilerine erişim sağlayan ASP.NET site gezinti altyapısının bir bileşenidir. ASP.NET site gezinti altyapısının diğer bileşenleri arasında içerik ve menüleri işlemek için SiteMapProvider ve XmlSiteMapProvider sınıfları, Web.site haritası dosyası ve SiteMap sınıfıyla çalışan SiteMapPath denetimi gibi ç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 asıl 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 koleksiyonu için 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 ) bir arabirim işlevi 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
| Name | Description |
|---|---|
| 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 belirtilmedidiğini ve site haritası sağlayıcısının etkinleştirilip etkinleştirilmediğini belirten 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 SiteMapProvider kullanılabilen adlandırılmış SiteMap 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 nesne alır. |
Ekinlikler
| Name | Description |
|---|---|
| SiteMapResolve |
özelliğine CurrentNode erişildiğinde gerçekleşir. |