SiteMap Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Klassen SiteMap är en minnesintern representation av navigeringsstrukturen för en plats, som tillhandahålls av en eller flera webbplatsöversiktsproviders. Det går inte att ärva den här klassen.
public ref class SiteMap abstract sealed
public static class SiteMap
type SiteMap = class
Public Class SiteMap
- Arv
-
SiteMap
Exempel
Det här avsnittet innehåller två kodexempel. Det första kodexemplet visar hur du deklarerar en webbplatsöversiktsprovider i en Web.config fil. Det andra kodexemplet visar hur du använder ett SiteMap objekt.
Följande kodexempel är ett Web.config konfigurationsavsnitt som visar hur ett XmlSiteMapProvider objekt deklareras som standardobjekt SiteMapProvider .
<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>
Följande kodexempel visar hur du använder SiteMap objektet genom att komma åt dess statiska medlemmar för att visa information om RootNode egenskaperna och CurrentNode . Jämför med de utdata som återges av SiteMapPath kontrollen.
<%@ 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>
Kommentarer
Webbplatskartor används tillsammans med SiteMapDataSourcekontrollerna , SiteMapPathoch andra för att återge ett effektivt navigeringsgränssnitt för användare att navigera på en webbplats. Ett SiteMap-objekt är en komponent i ASP.NET webbplatsnavigeringsinfrastruktur som ger åtkomst till skrivskyddad webbplatsöversiktsinformation för sid- och kontrollutvecklare med hjälp av navigerings- och SiteMapDataSource kontroller. Andra komponenter i ASP.NET-platsnavigeringsinfrastrukturen är SiteMapProvider och XmlSiteMapProvider klasser, web.sitemap-filen och de olika kontroller som fungerar med klassen SiteMap, till exempel SiteMapPath kontroll, för att återge innehåll och menyer.
Har SiteMap flera funktioner:
Den tillhandahåller rotnoden i platsnavigeringshierarkin (det kan bara finnas en rotnod).
Den identifierar vilken webbplatsöversiktsprovider som är huvudnamn eller standardleverantör.
Den håller reda på alla providerobjekt som används för att skapa SiteMap.
SiteMap I grunden är en container för en hierarkisk samling SiteMapNode objekt. SiteMap Men underhåller inte relationerna mellan noderna. I stället delegeras detta till webbplatsöversiktsprovidrar. Fungerar SiteMap som ett gränssnitt till webbplatsnavigeringsinformationen (i form av SiteMapNode objekt) som lagras av dessa webbplatsöversiktsleverantörer. Den håller reda på de leverantörer som den kan komma åt webbplatsnavigeringsdata från och exponerar sin Providers samling. En provider kan lagra sin webbplatsöversiktsinformation på något sätt – så länge den utökar den SiteMapProvider abstrakta klassen SiteMap kan klassen initieras från den.
Standardprovidern SiteMap för klassen är XmlSiteMapProvider klassen, som fungerar med en XML-konfigurationsfil, Web.sitemap. Du kan dock skriva ett eget SiteMapProvider objekt och använda det för att initiera webbplatsöversikten för webbplatsen. Ett exempel på en anpassad webbplatsöversiktsprovider finns i SiteMapProvider.
En standardkonfiguration för platsöversikt har angetts som hanterar platsnavigeringskonfigurationen. Du kan åsidosätta den här konfigurationen i Web.config-filen om du väljer att skriva en egen webbplatsöversiktsprovider.
Klassen SiteMap erbjuder endast statiska medlemmar för prestanda och kan nås när som helst på en viss webbplats från en webbformulär- eller webbserverkontroll.
Egenskaper
| Name | Description |
|---|---|
| CurrentNode |
Hämtar en SiteMapNode kontroll som representerar den begärda sidan. |
| Enabled |
Hämtar ett booleskt värde som anger om en webbplatsöversiktsprovider anges i Web.config-filen och om webbplatsöversiktsprovidern är aktiverad. |
| Provider |
Hämtar standardobjektet SiteMapProvider för den aktuella webbplatskartan. |
| Providers |
Hämtar en skrivskyddad samling med namngivna SiteMapProvider objekt som är tillgängliga för SiteMap klassen. |
| RootNode |
Hämtar ett SiteMapNode objekt som representerar den översta sidan i webbplatsens navigeringsstruktur. |
Händelser
| Name | Description |
|---|---|
| SiteMapResolve |
Inträffar när egenskapen CurrentNode används. |