StaticSiteMapProvider 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.
Fungerar som en partiell implementering av den abstrakta klassen SiteMapProvider och fungerar som basklass för klassen XmlSiteMapProvider, som är standardprovidern för webbplatskartor i ASP.NET.
public ref class StaticSiteMapProvider abstract : System::Web::SiteMapProvider
public abstract class StaticSiteMapProvider : System.Web.SiteMapProvider
type StaticSiteMapProvider = class
inherit SiteMapProvider
Public MustInherit Class StaticSiteMapProvider
Inherits SiteMapProvider
- Arv
- Härledda
Exempel
I följande kodexempel visas hur du utökar klassen StaticSiteMapProvider för att använda Microsoft Access som webbplatsöversiktsprovider. Klassen AccessSiteMapProvider är en webbplatsöversiktsprovider som endast stöder en enkel hierarki på en nivå. Tabellen som webbplatsöversiktsdata lagras i har följande struktur:
NODEID URL NAME PARENTNODEID
---------------------------------------------
1 default.aspx Default <NULL>
2 catalog.aspx Catalog 1
3 aboutus.aspx Contact Us 1
...
Klassen AccessSiteMapProvider härleds från klassen StaticSiteMapProvider och hämtar informationen från en Microsoft Access databas med hjälp av grundläggande SQL-frågor och OleDbCommand och OleDbDataReader objekt.
#using <System.Data.dll>
#using <System.Transactions.dll>
#using <System.EnterpriseServices.dll>
#using <System.dll>
#using <System.Web.dll>
#using <System.Configuration.dll>
using namespace System;
using namespace System::Collections;
using namespace System::Collections::Specialized;
using namespace System::Configuration;
using namespace System::Data;
using namespace System::Data::OleDb;
using namespace System::Security::Permissions;
using namespace System::Web;
/// An extremely simple AccessSiteMapProvider that only supports a
/// site map node hierarchy 1 level deep.
[AspNetHostingPermission(SecurityAction::Demand,Level=AspNetHostingPermissionLevel::Minimal)]
public ref class AccessSiteMapProvider: public StaticSiteMapProvider
{
private:
SiteMapNode ^ rootNode;
OleDbConnection^ accessConnection;
// This string is case sensitive.
String^ AccessConnectionStringName;
public:
// Implement a default constructor.
AccessSiteMapProvider()
{
initialized = false;
AccessConnectionStringName = "accessSiteMapConnectionString";
}
private:
// Some basic state to help track the initialization state of the provider.
bool initialized;
public:
property bool IsInitialized
{
virtual bool get()
{
return initialized;
}
}
property SiteMapNode ^ RootNode
{
// Return the root node of the current site map.
virtual SiteMapNode ^ get() override
{
SiteMapNode ^ temp = nullptr;
temp = BuildSiteMap();
return temp;
}
}
protected:
virtual SiteMapNode ^ GetRootNodeCore() override
{
return RootNode;
}
public:
// Initialize is used to initialize the properties and any state that the
// AccessProvider holds, but is not used to build the site map.
// The site map is built when the BuildSiteMap method is called.
virtual void Initialize( String^ name, NameValueCollection^ attributes ) override
{
if ( IsInitialized )
return;
StaticSiteMapProvider::Initialize( name, attributes );
// Create and test the connection to the Microsoft Access database.
// Retrieve the Value of the Access connection string from the
// attributes NameValueCollection.
String^ connectionString = attributes[ AccessConnectionStringName ];
if ( nullptr == connectionString || connectionString->Length == 0 )
throw gcnew Exception( "The connection string was not found." );
else
accessConnection = gcnew OleDbConnection( connectionString );
initialized = true;
}
protected:
///
/// SiteMapProvider and StaticSiteMapProvider methods that this derived class must override.
///
// Clean up any collections or other state that an instance of this may hold.
virtual void Clear() override
{
System::Threading::Monitor::Enter( this );
try
{
rootNode = nullptr;
StaticSiteMapProvider::Clear();
}
finally
{
System::Threading::Monitor::Exit( this );
}
}
public:
// Build an in-memory representation from persistent
// storage, and return the root node of the site map.
virtual SiteMapNode ^ BuildSiteMap() override
{
// Since the SiteMap class is static, make sure that it is
// not modified while the site map is built.
System::Threading::Monitor::Enter( this );
try
{
// If there is no initialization, this method is being
// called out of order.
if ( !IsInitialized )
{
throw gcnew Exception( "BuildSiteMap called incorrectly." );
}
// If there is no root node, then there is no site map.
if ( nullptr == rootNode )
{
// Start with a clean slate
Clear();
// Select the root node of the site map from Microsoft Access.
int rootNodeId = -1;
if ( accessConnection->State == ConnectionState::Closed )
accessConnection->Open();
OleDbCommand^ rootNodeCommand = gcnew OleDbCommand
("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection);
OleDbDataReader^ rootNodeReader = rootNodeCommand->ExecuteReader();
if ( rootNodeReader->HasRows )
{
rootNodeReader->Read();
rootNodeId = rootNodeReader->GetInt32( 0 );
// Create a SiteMapNode that references the current StaticSiteMapProvider.
rootNode = gcnew SiteMapNode(this, rootNodeId.ToString(),
rootNodeReader->GetString( 1 ),rootNodeReader->GetString( 2 ));
}
else
return nullptr;
rootNodeReader->Close();
// Select the child nodes of the root node.
OleDbCommand^ childNodesCommand = gcnew OleDbCommand
("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid = ?", accessConnection);
OleDbParameter^ rootParam = gcnew OleDbParameter( "parentid", OleDbType::Integer);
rootParam->Value = rootNodeId;
childNodesCommand->Parameters->Add( rootParam );
OleDbDataReader^ childNodesReader = childNodesCommand->ExecuteReader();
if ( childNodesReader->HasRows )
{
SiteMapNode ^ childNode = nullptr;
while ( childNodesReader->Read() )
{
childNode = gcnew SiteMapNode( this,
System::Convert::ToString(childNodesReader->GetInt32( 0 )),
childNodesReader->GetString( 1 ),
childNodesReader->GetString( 2 )
);
// Use the SiteMapNode AddNode method to add
// the SiteMapNode to the ChildNodes collection.
AddNode( childNode, rootNode );
}
}
childNodesReader->Close();
accessConnection->Close();
}
return rootNode;
}
finally
{
System::Threading::Monitor::Exit( this );
}
}
};
namespace Samples.AspNet.CS.Controls {
using System;
using System.Collections;
using System.Collections.Specialized;
using System.Data;
using System.Data.OleDb;
using System.Security.Permissions;
using System.Web;
/// An extremely simple AccessSiteMapProvider that only supports a
/// site map node hierarchy 1 level deep.
[AspNetHostingPermission(SecurityAction.Demand, Level=AspNetHostingPermissionLevel.Minimal)]
public class AccessSiteMapProvider : StaticSiteMapProvider
{
private SiteMapNode rootNode = null;
private OleDbConnection accessConnection = null;
// This string is case sensitive.
private string AccessConnectionStringName = "accessSiteMapConnectionString";
// Implement a default constructor.
public AccessSiteMapProvider () { }
// Some basic state to help track the initialization state of the provider.
private bool initialized = false;
public virtual bool IsInitialized {
get {
return initialized;
}
}
// Return the root node of the current site map.
public override SiteMapNode RootNode {
get {
SiteMapNode temp = null;
temp = BuildSiteMap();
return temp;
}
}
protected override SiteMapNode GetRootNodeCore() {
return RootNode;
}
// Initialize is used to initialize the properties and any state that the
// AccessProvider holds, but is not used to build the site map.
// The site map is built when the BuildSiteMap method is called.
public override void Initialize(string name, NameValueCollection attributes) {
if (IsInitialized)
return;
base.Initialize(name, attributes);
// Create and test the connection to the Microsoft Access database.
// Retrieve the Value of the Access connection string from the
// attributes NameValueCollection.
string connectionString = attributes[AccessConnectionStringName];
if (null == connectionString || connectionString.Length == 0)
throw new Exception ("The connection string was not found.");
else
accessConnection = new OleDbConnection(connectionString);
initialized = true;
}
///
/// SiteMapProvider and StaticSiteMapProvider methods that this derived class must override.
///
// Clean up any collections or other state that an instance of this may hold.
protected override void Clear() {
lock (this) {
rootNode = null;
base.Clear();
}
}
// Build an in-memory representation from persistent
// storage, and return the root node of the site map.
public override SiteMapNode BuildSiteMap() {
// Since the SiteMap class is static, make sure that it is
// not modified while the site map is built.
lock(this) {
// If there is no initialization, this method is being
// called out of order.
if (!IsInitialized) {
throw new Exception("BuildSiteMap called incorrectly.");
}
// If there is no root node, then there is no site map.
if (null == rootNode) {
// Start with a clean slate
Clear();
// Select the root node of the site map from Microsoft Access.
int rootNodeId = -1;
if (accessConnection.State == ConnectionState.Closed)
accessConnection.Open();
OleDbCommand rootNodeCommand =
new OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL",
accessConnection);
OleDbDataReader rootNodeReader = rootNodeCommand.ExecuteReader();
if(rootNodeReader.HasRows) {
rootNodeReader.Read();
rootNodeId = rootNodeReader.GetInt32(0);
// Create a SiteMapNode that references the current StaticSiteMapProvider.
rootNode = new SiteMapNode(this,
rootNodeId.ToString(),
rootNodeReader.GetString(1),
rootNodeReader.GetString(2));
}
else
{
return null;
}
rootNodeReader.Close();
// Select the child nodes of the root node.
OleDbCommand childNodesCommand =
new OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid = ?",
accessConnection);
OleDbParameter rootParam = new OleDbParameter("parentid", OleDbType.Integer);
rootParam.Value = rootNodeId;
childNodesCommand.Parameters.Add(rootParam);
OleDbDataReader childNodesReader = childNodesCommand.ExecuteReader();
if (childNodesReader.HasRows) {
SiteMapNode childNode = null;
while(childNodesReader.Read()) {
childNode = new SiteMapNode(this,
childNodesReader.GetInt32(0).ToString(),
childNodesReader.GetString(1),
childNodesReader.GetString(2));
// Use the SiteMapNode AddNode method to add
// the SiteMapNode to the ChildNodes collection.
AddNode(childNode, rootNode);
}
}
childNodesReader.Close();
accessConnection.Close();
}
return rootNode;
}
}
}
}
Imports System.Collections
Imports System.Collections.Specialized
Imports System.Data
Imports System.Data.OleDb
Imports System.Security.Permissions
Imports System.Web
Namespace Samples.AspNet.VB.Controls
' An extremely simple AccessSiteMapProvider that only supports a
' site map node hierarchy one level deep.
<AspNetHostingPermission(SecurityAction.Demand, Level:=AspNetHostingPermissionLevel.Minimal)> _
Public Class AccessSiteMapProvider
Inherits StaticSiteMapProvider
Private aRootNode As SiteMapNode = Nothing
Private accessConnection As OleDbConnection = Nothing
' This string is case sensitive.
Private AccessConnectionStringName As String = "accessSiteMapConnectionString"
' Implement a default constructor.
Public Sub New()
End Sub
' Some basic state to help track the initialization state of the provider.
Private initialized As Boolean = False
Public Overridable ReadOnly Property IsInitialized() As Boolean
Get
Return initialized
End Get
End Property
' Return the root node of the current site map.
Public Overrides ReadOnly Property RootNode() As SiteMapNode
Get
Return BuildSiteMap()
End Get
End Property
Protected Overrides Function GetRootNodeCore() As SiteMapNode
Return RootNode
End Function
' Initialize is used to initialize the properties and any state that the
' AccessProvider holds, but is not used to build the site map.
' The site map is built when the BuildSiteMap method is called.
Public Overrides Sub Initialize(ByVal name As String, ByVal attributes As NameValueCollection)
If IsInitialized Then
Return
End If
MyBase.Initialize(name, attributes)
' Create and test the connection to the Microsoft Access database.
' Retrieve the Value of the Access connection string from the
' attributes NameValueCollection.
Dim connectionString As String = attributes(AccessConnectionStringName)
If Nothing = connectionString OrElse connectionString.Length = 0 Then
Throw New Exception("The connection string was not found.")
Else
accessConnection = New OleDbConnection(connectionString)
End If
initialized = True
End Sub
' SiteMapProvider and StaticSiteMapProvider methods that this derived class must override.
'
' Clean up any collections or other state that an instance of this may hold.
Protected Overrides Sub Clear()
SyncLock Me
aRootNode = Nothing
MyBase.Clear()
End SyncLock
End Sub
' Build an in-memory representation from persistent
' storage, and return the root node of the site map.
Public Overrides Function BuildSiteMap() As SiteMapNode
' Since the SiteMap class is static, make sure that it is
' not modified while the site map is built.
SyncLock Me
' If there is no initialization, this method is being
' called out of order.
If Not IsInitialized Then
Throw New Exception("BuildSiteMap called incorrectly.")
End If
' If there is no root node, then there is no site map.
If aRootNode Is Nothing Then
' Start with a clean slate
Clear()
' Select the root node of the site map from Microsoft Access.
Dim rootNodeId As Integer = -1
If accessConnection.State = ConnectionState.Closed Then
accessConnection.Open()
End If
Dim rootNodeCommand As New OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid IS NULL", accessConnection)
Dim rootNodeReader As OleDbDataReader = rootNodeCommand.ExecuteReader()
If rootNodeReader.HasRows Then
rootNodeReader.Read()
rootNodeId = rootNodeReader.GetInt32(0)
' Create a SiteMapNode that references the current StaticSiteMapProvider.
aRootNode = New SiteMapNode(Me, rootNodeId.ToString(), rootNodeReader.GetString(1), rootNodeReader.GetString(2))
Else
Return Nothing
End If
rootNodeReader.Close()
' Select the child nodes of the root node.
Dim childNodesCommand As New OleDbCommand("SELECT nodeid, url, name FROM SiteMap WHERE parentnodeid = ?", accessConnection)
Dim rootParam As New OleDbParameter("parentid", OleDbType.Integer)
rootParam.Value = rootNodeId
childNodesCommand.Parameters.Add(rootParam)
Dim childNodesReader As OleDbDataReader = childNodesCommand.ExecuteReader()
If childNodesReader.HasRows Then
Dim childNode As SiteMapNode = Nothing
While childNodesReader.Read()
childNode = New SiteMapNode(Me, _
childNodesReader.GetInt32(0).ToString(), _
childNodesReader.GetString(1), _
childNodesReader.GetString(2))
' Use the SiteMapNode AddNode method to add
' the SiteMapNode to the ChildNodes collection.
AddNode(childNode, aRootNode)
End While
End If
childNodesReader.Close()
accessConnection.Close()
End If
Return aRootNode
End SyncLock
End Function 'BuildSiteMap
End Class
End Namespace
Slutligen AccessSiteMapProvider konfigureras som standardprovider i följande Web.config fil.
<configuration>
<system.web>
<siteMap defaultProvider="AccessSiteMapProvider">
<providers>
<add
name="AccessSiteMapProvider"
type="Samples.AspNet.AccessSiteMapProvider,Samples.AspNet "
accessSiteMapConnectionString="PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=sitemap.mdb "/>
</providers>
</siteMap>
</system.web>
</configuration>
Kommentarer
Klassen StaticSiteMapProvider är en partiell implementering av den abstrakta SiteMapProvider klassen och tillhandahåller ytterligare två metoder: AddNode och RemoveNode, samt abstrakta BuildSiteMap och skyddade Clear metoder.
Klassen StaticSiteMapProvider har stöd för att skriva en webbplatskartprovider (till exempel en XmlSiteMapProvider) som översätter en webbplatskarta som lagras i beständig lagring till en som lagras i minnet. Klassen StaticSiteMapProvider tillhandahåller grundläggande implementeringar för lagring och hämtning av SiteMapNode objekt.
Klasserna SiteMapProvider och StaticSiteMapProvider stöder konceptet med en platskartas providerhierarki, där en webbplatsöversiktsprovider kan ha en hierarkisk relation med andra platskartasproviders. Det här mönstret implementeras med RootProvider egenskaperna och ParentProvider .
Klassen StaticSiteMapProvider lagrar sina SiteMapNode objekt i hash-tabeller och använder SiteMapNode.Url internt egenskapen för sidorna, som representeras av platsmappningsnoder, som nycklar. (Om en platsöversiktsnod inte anger någon URL spåras den med hjälp av en automatiskt genererad unik nyckel.) Därför kan du inte ha platsmappningsnoder där en platsöversiktsnod med samma URL används mer än en gång. Om du till exempel försöker läsa in platsmappningsnoden som illustreras i följande kodexempel med klassen XmlSiteMapProvider, som är standard ASP.NET webbplatsöversiktsprovider, eller någon webbplatsöversiktsprovider som härleds från klassen StaticSiteMapProvider fungerar inte eftersom AboutUs.aspx-sidan används mer än en gång.
<sitemap>
<sitemapnode title="Home" description="Home" url="default.aspx" >
<sitemapnode title="Catalog" description="Our catalog" url="catalog.aspx"/>
<sitemapnode title="About Us" description="All about our company" url="aboutus.aspx"/>
<sitemapnode title="Driving Directions" description="Directions to our store" url="aboutus.aspx"/>
</sitemapnode>
</sitemap>
Om du utökar StaticSiteMapProvider klassen är GetRootNodeCorede tre viktigaste metoderna metoderna , Initializeoch BuildSiteMap . Metoderna Clear och FindSiteMapNode har standardimplementeringar som räcker för de flesta implementeringar av en anpassad webbplatsöversiktsprovider.
Metoden Initialize anropas för att initiera härledda webbplatsöversiktsproviders, inklusive alla resurser som krävs för att läsa in platsöversiktsdata, men den försöker skapa platskartnoden i minnet. Om din härledda klass använder filer för att lagra webbplatsöversiktsdata kan alla filinitieringar utföras här. Om platsöversiktsnoden använder någon annan typ av datalager, till exempel en relationsdatabas, kan initiering av en anslutning utföras här. Ytterligare attribut, till exempel filnamn eller anslutningssträngar som placeras på platskartans providerelement i konfigurationen, bearbetas av ASP.NET-konfigurationssystemet och skickas till metoden Initialize med parametern attributes.
Metoden BuildSiteMap måste åsidosättas av alla klasser som härleds från StaticSiteMapProvider klassen och anropas för att läsa in platsmappningsnoden från beständig lagring och konvertera den till en intern representation. Metoden BuildSiteMap anropas internt i många av standardmedlemimplementeringarna för klasserna StaticSiteMapProvider och XmlSiteMapProvider . Om du implementerar en egen webbplatsöversiktsprovider kontrollerar du att databehandlingen för webbplatsöversikten sker en gång och efterföljande anrop till BuildSiteMap metoden returneras omedelbart, om platskartans information redan har lästs in. När du implementerar BuildSiteMap metoden ser du till att den är trådsäker eftersom flera samtidiga sidbegäranden indirekt kan resultera i flera anrop för att läsa in webbplatsöversiktsinformation. Webbplatsöversiktsinfrastrukturen stöder visning av webbplatskartainformation baserat på användarens roll. Beroende på vilken Roles egenskap som stöds av de enskilda SiteMapNode objekten kan det finnas en annan navigeringsstruktur för olika användare. Standardimplementeringarna för platskartans nodhämtningsmedlemmar i StaticSiteMapProvider klassen utför säkerhetstrimning automatiskt genom att anropa IsAccessibleToUser metoden.
Metoderna AddNode, Clear och RemoveNode manipulerar de interna samlingar som används för att spåra platsmappningsnoder på ett trådsäkert sätt.
Anteckningar till implementerare
När du ärver från StaticSiteMapProvider klassen måste du åsidosätta följande medlem: BuildSiteMap().
Konstruktorer
| Name | Description |
|---|---|
| StaticSiteMapProvider() |
Initierar en ny instans av StaticSiteMapProvider klassen. |
Egenskaper
| Name | Description |
|---|---|
| CurrentNode |
Hämtar objektet SiteMapNode som representerar den begärda sidan. (Ärvd från SiteMapProvider) |
| Description |
Hämtar en kort, vänlig beskrivning som är lämplig för visning i administrativa verktyg eller andra användargränssnitt (UIs). (Ärvd från ProviderBase) |
| EnableLocalization |
Hämtar eller anger ett booleskt värde som anger om lokaliserade värden SiteMapNode för attribut returneras. (Ärvd från SiteMapProvider) |
| Name |
Hämtar det eget namn som används för att referera till providern under konfigurationen. (Ärvd från ProviderBase) |
| ParentProvider |
Hämtar eller anger det överordnade SiteMapProvider objektet för den aktuella providern. (Ärvd från SiteMapProvider) |
| ResourceKey |
Hämta eller ange resursnyckeln som används för att lokalisera SiteMapNode attribut. (Ärvd från SiteMapProvider) |
| RootNode |
Hämtar rotobjektet SiteMapNode för platsmappningsdata som den aktuella providern representerar. (Ärvd från SiteMapProvider) |
| RootProvider |
Hämtar rotobjektet SiteMapProvider i den aktuella providerhierarkin. (Ärvd från SiteMapProvider) |
| SecurityTrimmingEnabled |
Hämtar ett booleskt värde som anger om en webbplatsöversiktsprovider filtrerar platsmappningsnoder baserat på en användares roll. (Ärvd från SiteMapProvider) |
Metoder
| Name | Description |
|---|---|
| AddNode(SiteMapNode, SiteMapNode) |
Lägger till en SiteMapNode till de samlingar som underhålls av webbplatsöversiktsprovidern och upprättar en överordnad/underordnad relation mellan objekten SiteMapNode . |
| AddNode(SiteMapNode) |
Lägger till ett SiteMapNode objekt i nodsamlingen som underhålls av webbplatsöversiktsprovidern. (Ärvd från SiteMapProvider) |
| BuildSiteMap() |
När den åsidosättas i en härledd klass läser du in webbplatsöversiktsinformationen från beständig lagring och skapar den i minnet. |
| Clear() |
Tar bort alla element i samlingar med underordnade och överordnade platsmappningsnoder som StaticSiteMapProvider spåras som en del av dess tillstånd. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| FindSiteMapNode(HttpContext) |
Hämtar ett SiteMapNode objekt som representerar den begärda sidan med det angivna HttpContext objektet. (Ärvd från SiteMapProvider) |
| FindSiteMapNode(String) |
Hämtar ett SiteMapNode objekt som representerar sidan på den angivna URL:en. |
| FindSiteMapNodeFromKey(String) |
Hämtar ett SiteMapNode objekt baserat på en angiven nyckel. |
| GetChildNodes(SiteMapNode) |
Hämtar de underordnade platsmappningsnoderna för ett specifikt SiteMapNode objekt. |
| GetCurrentNodeAndHintAncestorNodes(Int32) |
Tillhandahåller en optimerad uppslagsmetod för webbplatsöversiktsproviders när du hämtar noden för den aktuella sidan och hämtar de överordnade och överordnade platsmappningsnoderna för den aktuella sidan. (Ärvd från SiteMapProvider) |
| GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32) |
Tillhandahåller en optimerad uppslagsmetod för webbplatskartproviders när du hämtar noden för den aktuella sidan och hämtar platsmappningsnoderna i närheten av den aktuella noden. (Ärvd från SiteMapProvider) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetParentNode(SiteMapNode) |
Hämtar den överordnade platsmappningsnoden för ett specifikt SiteMapNode objekt. |
| GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32) |
Tillhandahåller en optimerad uppslagsmetod för webbplatskartproviders när du hämtar en överordnad nod för den aktuella begärda sidan och hämtar de underordnade noderna för den överordnade noden. (Ärvd från SiteMapProvider) |
| GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32) |
Tillhandahåller en optimerad uppslagsmetod för platskartasproviders när du hämtar en överordnad nod för det angivna SiteMapNode objektet och hämtar dess underordnade noder. (Ärvd från SiteMapProvider) |
| GetRootNodeCore() |
När den åsidosätts i en härledd klass hämtar den rotnoden för alla noder som för närvarande hanteras av den aktuella providern. (Ärvd från SiteMapProvider) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| HintAncestorNodes(SiteMapNode, Int32) |
Tillhandahåller en metod som webbplatsöversiktsproviders kan åsidosätta för att utföra en optimerad hämtning av en eller flera nivåer av överordnade och överordnade noder i förhållande till det angivna SiteMapNode objektet. (Ärvd från SiteMapProvider) |
| HintNeighborhoodNodes(SiteMapNode, Int32, Int32) |
Tillhandahåller en metod som webbplatsöversiktsleverantörer kan åsidosätta för att utföra en optimerad hämtning av noder som finns i närheten av den angivna noden. (Ärvd från SiteMapProvider) |
| Initialize(String, NameValueCollection) |
Initierar implementeringen SiteMapProvider , inklusive alla resurser som behövs för att läsa in webbplatsöversiktsdata från beständig lagring. (Ärvd från SiteMapProvider) |
| IsAccessibleToUser(HttpContext, SiteMapNode) |
Hämtar ett booleskt värde som anger om det angivna SiteMapNode objektet kan visas av användaren i den angivna kontexten. (Ärvd från SiteMapProvider) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| RemoveNode(SiteMapNode) |
Tar bort det angivna SiteMapNode objektet från alla webbplatsöversiktsnodsamlingar som spåras av webbplatsöversiktsprovidern. |
| ResolveSiteMapNode(HttpContext) |
Genererar händelsen SiteMapResolve . (Ärvd från SiteMapProvider) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
Händelser
| Name | Description |
|---|---|
| SiteMapResolve |
Inträffar när egenskapen CurrentNode anropas. (Ärvd från SiteMapProvider) |