StaticSiteMapProvider Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Fungeert als een gedeeltelijke implementatie van de abstracte SiteMapProvider-klasse en fungeert als basisklasse voor de klasse XmlSiteMapProvider, de standaardsiteoverzichtprovider in 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
- Overname
- Afgeleid
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de klasse StaticSiteMapProvider kunt uitbreiden om Microsoft Access te gebruiken als siteoverzichtprovider. De AccessSiteMapProvider klasse is een siteoverzichtprovider die slechts een eenvoudige, op één niveau diepe hiërarchie ondersteunt. De tabel waarin de siteoverzichtgegevens worden opgeslagen, heeft de volgende structuur:
NODEID URL NAME PARENTNODEID
---------------------------------------------
1 default.aspx Default <NULL>
2 catalog.aspx Catalog 1
3 aboutus.aspx Contact Us 1
...
De klasse AccessSiteMapProvider wordt afgeleid van de klasse StaticSiteMapProvider en haalt de gegevens op uit een Microsoft Access-database met behulp van eenvoudige SQL-query's en de OleDbCommand- en -objecten.
#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
Ten slotte is het AccessSiteMapProvider geconfigureerd als de standaardprovider in het volgende Web.config bestand.
<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>
Opmerkingen
De StaticSiteMapProvider klasse is een gedeeltelijke implementatie van de abstracte SiteMapProvider klasse en levert twee extra methoden: AddNode en RemoveNode, evenals de abstracte BuildSiteMap en beveiligde Clear methoden.
De StaticSiteMapProvider klasse ondersteunt het schrijven van een siteoverzichtprovider (bijvoorbeeld een XmlSiteMapProvider) die een siteoverzicht vertaalt dat is opgeslagen in permanente opslag naar een siteoverzicht dat is opgeslagen in het geheugen. De StaticSiteMapProvider klasse biedt eenvoudige implementaties voor het opslaan en ophalen van SiteMapNode objecten.
De SiteMapProvider en StaticSiteMapProvider klassen ondersteunen het concept van een siteoverzichtproviderhiërarchie, waarbij een siteoverzichtprovider een hiërarchische relatie kan hebben met andere siteoverzichtproviders. Dit patroon wordt geïmplementeerd met de RootProvider en ParentProvider eigenschappen.
De StaticSiteMapProvider klasse slaat de SiteMapNode objecten op in hash-tabellen en maakt intern gebruik van de SiteMapNode.Url eigenschap van de pagina's, vertegenwoordigd door siteoverzichtknooppunten, als sleutels. (Als een siteoverzichtknooppunt geen URL opgeeft, wordt het bijgehouden met behulp van een automatisch gegenereerde unieke sleutel.) Als gevolg hiervan kunt u geen siteoverzichtsknooppunten hebben waarbij een siteoverzichtknooppunt met dezelfde URL meerdere keren wordt gebruikt. Als u bijvoorbeeld probeert het siteoverzichtknooppunt te laden dat wordt geïllustreerd in het volgende codevoorbeeld met de klasse XmlSiteMapProvider, wat de standaard-ASP.NET siteoverzichtprovider is of een siteoverzichtprovider die is afgeleid van de klasse StaticSiteMapProvider werkt niet omdat de AboutUs.aspx pagina meer dan één keer wordt gebruikt.
<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>
Als u de StaticSiteMapProvider klasse uitbreidt, zijn de drie belangrijkste methoden de GetRootNodeCoreen InitializeBuildSiteMap methoden. De Clear en FindSiteMapNode methoden hebben standaard implementaties die voldoende zijn voor de meeste implementaties van aangepaste siteoverzichtproviders.
De Initialize methode wordt aangeroepen om afgeleide siteoverzichtproviders te initialiseren, inclusief alle resources die nodig zijn om siteoverzichtgegevens te laden, maar er wordt wel geprobeerd het siteoverzichtknooppunt in het geheugen te bouwen. Als uw afgeleide klasse bestanden gebruikt om siteoverzichtgegevens op te slaan, kan elke bestandsinitialisatie hier worden uitgevoerd. Als het siteoverzichtknooppunt een ander type gegevensarchief gebruikt, zoals een relationele database, wordt het initialiseren van een verbinding mogelijk hier uitgevoerd. Aanvullende kenmerken, zoals bestandsnamen of verbindingsreeksen die in het element van de siteoverzichtprovider in de configuratie worden geplaatst, worden verwerkt door het ASP.NET configuratiesysteem en doorgegeven aan de methode Initialize met de parameter attributes.
De BuildSiteMap methode moet worden overschreven door alle klassen die zijn afgeleid van de StaticSiteMapProvider klasse en wordt aangeroepen om het siteoverzichtknooppunt te laden vanuit permanente opslag en deze te converteren naar een interne weergave. De BuildSiteMap methode wordt intern aangeroepen in veel van de standaardlid-implementaties van de StaticSiteMapProvider en XmlSiteMapProvider klassen. Als u uw eigen siteoverzichtprovider implementeert, moet u ervoor zorgen dat de verwerking van siteoverzichtsgegevens eenmaal plaatsvindt en dat de volgende aanroepen naar de BuildSiteMap methode onmiddellijk worden geretourneerd als de siteoverzichtsgegevens al zijn geladen. Wanneer u de methode implementeert, moet u ervoor zorgen dat deze BuildSiteMap thread veilig is, omdat meerdere gelijktijdige paginaaanvragen indirect kunnen leiden tot meerdere aanroepen om siteoverzichtsgegevens te laden. De siteoverzichtinfrastructuur ondersteunt het weergeven van siteoverzichtgegevens op basis van de rol van de gebruiker. Afhankelijk van de Roles eigenschap die wordt ondersteund door de afzonderlijke SiteMapNode objecten, kan er een andere navigatiestructuur bestaan voor verschillende gebruikers. De standaard implementaties van het siteoverzichtknooppunt ophalen leden van de StaticSiteMapProvider klasse voeren automatisch beveiligingsbeperkingen uit door de IsAccessibleToUser methode aan te roepen.
De AddNodeen ClearRemoveNode methoden bewerken de interne verzamelingen die worden gebruikt om siteoverzichtknooppunten op een thread-veilige manier bij te houden.
Notities voor uitvoerders
Wanneer u de StaticSiteMapProvider klasse overschrijft, moet u het volgende lid overschrijven: BuildSiteMap().
Constructors
| Name | Description |
|---|---|
| StaticSiteMapProvider() |
Initialiseert een nieuw exemplaar van de StaticSiteMapProvider klasse. |
Eigenschappen
| Name | Description |
|---|---|
| CurrentNode |
Hiermee haalt u het SiteMapNode object op dat de momenteel aangevraagde pagina vertegenwoordigt. (Overgenomen van SiteMapProvider) |
| Description |
Hiermee krijgt u een korte, beschrijvende beschrijving die geschikt is voor weergave in beheerhulpprogramma's of andere gebruikersinterfaces (UIS's). (Overgenomen van ProviderBase) |
| EnableLocalization |
Hiermee wordt een Booleaanse waarde opgehaald of ingesteld die aangeeft of gelokaliseerde waarden van SiteMapNode kenmerken worden geretourneerd. (Overgenomen van SiteMapProvider) |
| Name |
Hiermee haalt u de beschrijvende naam op die wordt gebruikt om tijdens de configuratie naar de provider te verwijzen. (Overgenomen van ProviderBase) |
| ParentProvider |
Hiermee wordt het bovenliggende SiteMapProvider object van de huidige provider opgehaald of ingesteld. (Overgenomen van SiteMapProvider) |
| ResourceKey |
Haal de resourcesleutel op die wordt gebruikt voor het lokaliseren van SiteMapNode kenmerken of stelt deze in. (Overgenomen van SiteMapProvider) |
| RootNode |
Hiermee haalt u het hoofdobject SiteMapNode op van de siteoverzichtgegevens die de huidige provider vertegenwoordigt. (Overgenomen van SiteMapProvider) |
| RootProvider |
Hiermee haalt u het hoofdobject SiteMapProvider op in de huidige providerhiërarchie. (Overgenomen van SiteMapProvider) |
| SecurityTrimmingEnabled |
Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of een siteoverzichtprovider siteoverzichtknooppunten filtert op basis van de rol van een gebruiker. (Overgenomen van SiteMapProvider) |
Methoden
| Name | Description |
|---|---|
| AddNode(SiteMapNode, SiteMapNode) |
Hiermee voegt u een SiteMapNode verzameling toe aan de verzamelingen die worden onderhouden door de siteoverzichtprovider en wordt een bovenliggende/onderliggende relatie tussen de SiteMapNode objecten tot stand gebracht. |
| AddNode(SiteMapNode) |
Hiermee voegt u een SiteMapNode object toe aan de knooppuntverzameling die wordt onderhouden door de siteoverzichtprovider. (Overgenomen van SiteMapProvider) |
| BuildSiteMap() |
Wanneer deze wordt overschreven in een afgeleide klasse, laadt u de siteoverzichtsgegevens uit permanente opslag en bouwt u deze in het geheugen. |
| Clear() |
Hiermee verwijdert u alle elementen in de verzamelingen onderliggende en bovenliggende siteoverzichtknooppunten die de traceert als onderdeel van de StaticSiteMapProvider status. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| FindSiteMapNode(HttpContext) |
Hiermee wordt een SiteMapNode object opgehaald dat de momenteel aangevraagde pagina vertegenwoordigt met behulp van het opgegeven HttpContext object. (Overgenomen van SiteMapProvider) |
| FindSiteMapNode(String) |
Hiermee wordt een SiteMapNode object opgehaald dat de pagina op de opgegeven URL vertegenwoordigt. |
| FindSiteMapNodeFromKey(String) |
Hiermee wordt een SiteMapNode object opgehaald op basis van een opgegeven sleutel. |
| GetChildNodes(SiteMapNode) |
Hiermee worden de onderliggende siteoverzichtknooppunten van een specifiek SiteMapNode object opgehaald. |
| GetCurrentNodeAndHintAncestorNodes(Int32) |
Biedt een geoptimaliseerde opzoekmethode voor siteoverzichtproviders bij het ophalen van het knooppunt voor de momenteel aangevraagde pagina en het ophalen van de bovenliggende en bovenliggende siteoverzichtknooppunten voor de huidige pagina. (Overgenomen van SiteMapProvider) |
| GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32) |
Biedt een geoptimaliseerde opzoekmethode voor siteoverzichtproviders bij het ophalen van het knooppunt voor de momenteel aangevraagde pagina en het ophalen van de siteoverzichtknooppunten in de nabijheid van het huidige knooppunt. (Overgenomen van SiteMapProvider) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetParentNode(SiteMapNode) |
Hiermee haalt u het bovenliggende siteoverzichtknooppunt van een specifiek SiteMapNode object op. |
| GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32) |
Biedt een geoptimaliseerde opzoekmethode voor siteoverzichtproviders bij het ophalen van een bovenliggend knooppunt voor de momenteel aangevraagde pagina en het ophalen van de onderliggende knooppunten voor de bovenliggende knooppunten. (Overgenomen van SiteMapProvider) |
| GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32) |
Biedt een geoptimaliseerde opzoekmethode voor siteoverzichtproviders bij het ophalen van een bovenliggend knooppunt voor het opgegeven SiteMapNode object en het ophalen van de onderliggende knooppunten. (Overgenomen van SiteMapProvider) |
| GetRootNodeCore() |
Wanneer deze wordt overschreven in een afgeleide klasse, haalt u het hoofdknooppunt op van alle knooppunten die momenteel worden beheerd door de huidige provider. (Overgenomen van SiteMapProvider) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| HintAncestorNodes(SiteMapNode, Int32) |
Biedt een methode die siteoverzichtproviders kunnen overschrijven om een geoptimaliseerde ophaalbewerking uit te voeren van een of meer niveaus van bovenliggende en bovenliggende knooppunten ten opzichte van het opgegeven SiteMapNode object. (Overgenomen van SiteMapProvider) |
| HintNeighborhoodNodes(SiteMapNode, Int32, Int32) |
Biedt een methode die siteoverzichtproviders kunnen overschrijven om een geoptimaliseerde ophaalbewerking van knooppunten uit te voeren die zich in de nabijheid van het opgegeven knooppunt bevinden. (Overgenomen van SiteMapProvider) |
| Initialize(String, NameValueCollection) |
Initialiseert de implementatie, inclusief alle resources die nodig zijn voor het SiteMapProvider laden van siteoverzichtgegevens uit permanente opslag. (Overgenomen van SiteMapProvider) |
| IsAccessibleToUser(HttpContext, SiteMapNode) |
Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of het opgegeven SiteMapNode object kan worden weergegeven door de gebruiker in de opgegeven context. (Overgenomen van SiteMapProvider) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| RemoveNode(SiteMapNode) |
Hiermee verwijdert u het opgegeven SiteMapNode object uit alle siteoverzichtknooppuntverzamelingen die worden bijgehouden door de siteoverzichtprovider. |
| ResolveSiteMapNode(HttpContext) |
Hiermee wordt de SiteMapResolve gebeurtenis gegenereerd. (Overgenomen van SiteMapProvider) |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
gebeurtenis
| Name | Description |
|---|---|
| SiteMapResolve |
Treedt op wanneer de CurrentNode eigenschap wordt aangeroepen. (Overgenomen van SiteMapProvider) |