StaticSiteMapProvider Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обеспечивает частичную реализацию абстрактного класса SiteMapProvider и выступает в качестве базового класса для класса XmlSiteMapProvider, который задан по умолчанию для поставщика карты веб-узла в 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
- Наследование
- Производный
Примеры
В следующем примере кода показано, как расширить StaticSiteMapProvider класс для использования Microsoft Access в качестве поставщика карты сайта. Класс AccessSiteMapProvider
является поставщиком карты сайта, который поддерживает только простую одноуровневую иерархию. Таблица, в которую хранятся данные карты сайта, имеет следующую структуру:
NODEID URL NAME PARENTNODEID
---------------------------------------------
1 default.aspx Default <NULL>
2 catalog.aspx Catalog 1
3 aboutus.aspx Contact Us 1
...
Класс AccessSiteMapProvider
является производным StaticSiteMapProvider от класса и извлекает его сведения из базы данных Microsoft Access с помощью базовых SQL-запросов и OleDbCommand объектов и OleDbDataReader .
#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
Наконец, AccessSiteMapProvider
в следующем файле Web.config настраивается как поставщик по умолчанию.
<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>
Комментарии
Класс StaticSiteMapProvider является частичной реализацией абстрактного SiteMapProvider класса и предоставляет два дополнительных метода: AddNode и RemoveNode, а также абстрактные BuildSiteMap и защищенные Clear методы.
Класс StaticSiteMapProvider поддерживает запись поставщика карты сайта (например, ), который преобразует карту сайта, XmlSiteMapProviderхранящуюся в постоянном хранилище, в схему, которая хранится в памяти. Класс StaticSiteMapProvider предоставляет базовые реализации для хранения и извлечения SiteMapNode объектов.
Классы SiteMapProvider и StaticSiteMapProvider поддерживают концепцию иерархии поставщиков карт сайта, где поставщик карты сайта может иметь иерархическую связь с другими поставщиками карт сайта. Этот шаблон реализуется со свойствами RootProvider и ParentProvider .
Класс StaticSiteMapProvider хранит свои SiteMapNode объекты в хэш-таблицах и внутренне использует SiteMapNode.Url свойство страниц, представленных узлами карты сайта, в качестве ключей. (Если узел карты сайта не указывает URL-адрес, он отслеживается с помощью автоматически созданного уникального ключа.) В результате вы не сможете иметь узлы карты сайта, где узел карты сайта с тем же URL-адресом используется более одного раза. Например, попытка загрузить узел карты сайта, показанный в следующем примере кода, с XmlSiteMapProvider помощью класса , который является ASP.NET поставщиком карты сайта по умолчанию, или любого поставщика карты сайта, производного от StaticSiteMapProvider класса , не будет работать, так как страница AboutUs.aspx используется несколько раз.
<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>
Если вы расширяете StaticSiteMapProvider класс, тремя наиболее важными методами являются методы GetRootNodeCore, Initializeи BuildSiteMap . Методы Clear и FindSiteMapNode имеют реализации по умолчанию, которых достаточно для большинства пользовательских реализаций поставщика карт сайта.
Метод Initialize вызывается для инициализации производных поставщиков карт сайта, включая все ресурсы, необходимые для загрузки данных карты сайта, но он пытается создать узел карты сайта в памяти. Если производный класс использует файлы для хранения данных карты сайта, здесь можно выполнить любую инициализацию файлов. Если узел карты сайта использует хранилище данных другого типа, например реляционную базу данных, то здесь может быть выполнена инициализация подключения. Дополнительные атрибуты, такие как имена файлов или строки подключения, размещенные в элементе поставщика карты сайта в конфигурации, обрабатываются системой конфигурации ASP.NET и передаются Initialize в метод с параметром attributes
.
Метод BuildSiteMap должен быть переопределен всеми классами, производными от StaticSiteMapProvider класса и вызываемым для загрузки узла карты сайта из постоянного хранилища и преобразования его во внутреннее представление. Метод BuildSiteMap вызывается внутренне во многих реализациях StaticSiteMapProvider элементов по умолчанию классов и XmlSiteMapProvider . Если вы реализуете собственный поставщик карт сайта, убедитесь, что обработка данных карты сайта выполняется BuildSiteMap один раз, и последующие вызовы метода возвращаются немедленно, если данные карты сайта уже загружены. При реализации BuildSiteMap метода убедитесь, что он является потокобезопасным, так как несколько одновременных запросов страницы могут косвенно привести к нескольким вызовам для загрузки сведений карты сайта. Инфраструктура карты сайта поддерживает отображение сведений о карте сайта на основе роли пользователя. В зависимости Roles от свойства, поддерживаемого отдельными SiteMapNode объектами, для разных пользователей может существовать другая структура навигации. Реализации по умолчанию членов StaticSiteMapProvider получения узла карты сайта класса выполняют обрезку безопасности автоматически путем вызова IsAccessibleToUser метода .
Методы AddNode, Clear и RemoveNode управляют внутренними коллекциями, которые используются для отслеживания узлов карты сайта потокобезопасным способом.
Примечания для тех, кто реализует этот метод
При наследовании StaticSiteMapProvider от класса необходимо переопределить следующий член: BuildSiteMap().
Конструкторы
StaticSiteMapProvider() |
Инициализирует новый экземпляр класса StaticSiteMapProvider. |
Свойства
CurrentNode |
Получает объект SiteMapNode, представляющий запрашиваемую в данный момент страницу. (Унаследовано от SiteMapProvider) |
Description |
Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI). (Унаследовано от ProviderBase) |
EnableLocalization |
Получает или задает логическое значение, показывающее, возвращается ли локализованное значение атрибутов SiteMapNode. (Унаследовано от SiteMapProvider) |
Name |
Возвращает понятное имя, используемое для ссылки на поставщика во время конфигурирования. (Унаследовано от ProviderBase) |
ParentProvider |
Получает или задает родительский объект SiteMapProvider текущего поставщика. (Унаследовано от SiteMapProvider) |
ResourceKey |
Возвращает или задает ключ ресурса, используемый для локализации атрибутов SiteMapNode. (Унаследовано от SiteMapProvider) |
RootNode |
Получает корневой объект SiteMapNode данных карты веб-узла, представленных текущим поставщиком. (Унаследовано от SiteMapProvider) |
RootProvider |
Получает корневой объект SiteMapProvider в текущую иерархию поставщиков. (Унаследовано от SiteMapProvider) |
SecurityTrimmingEnabled |
Получает логическое значение, показывающее, фильтрует ли поставщик карты веб-узла узлы карты веб-узла на основе роли пользователя. (Унаследовано от SiteMapProvider) |
Методы
AddNode(SiteMapNode) |
Добавляет объект SiteMapNode в коллекцию узлов, которую поддерживает поставщик карты веб-узла. (Унаследовано от SiteMapProvider) |
AddNode(SiteMapNode, SiteMapNode) |
Добавляет объект SiteMapNode в коллекции, которые поддерживаются поставщиком карты веб-узла, и устанавливает между объектами SiteMapNode связь типа "родители-потомки". |
BuildSiteMap() |
При переопределении в производном классе загружает сведения о карте веб-узла из постоянного хранилища и создает их в памяти. |
Clear() |
Удаляет все элементы из коллекции родительских и дочерних узлов карты веб-узла, которые отслеживаются StaticSiteMapProvider в качестве части их состояния. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
FindSiteMapNode(HttpContext) |
Представляет объект SiteMapNode, представляющий запрашиваемую в настоящий момент страницу с использованием указанного объекта HttpContext. (Унаследовано от SiteMapProvider) |
FindSiteMapNode(String) |
Получает объект SiteMapNode, который представляет страницу по указанному URL-адресу. |
FindSiteMapNodeFromKey(String) |
Получает объект SiteMapNode на основе указанного ключа. |
GetChildNodes(SiteMapNode) |
Извлекает дочерние узлы карты веб-узла конкретного объекта SiteMapNode. |
GetCurrentNodeAndHintAncestorNodes(Int32) |
Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла для запрашиваемой в настоящее время страницы и извлекает родительские узлы и узлы-предки карт веб-узлов для текущей страницы. (Унаследовано от SiteMapProvider) |
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32) |
Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла для запрашиваемой в настоящее время страницы и извлекает узлы карты веб-узла в пределах текущего узла. (Унаследовано от SiteMapProvider) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetParentNode(SiteMapNode) |
Представляет родительский узел карты веб-узла указанного объекта SiteMapNode. |
GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32) |
Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла-предка для запрашиваемой в настоящее время страницы и извлекает узлы-потомки для узла-предка. (Унаследовано от SiteMapProvider) |
GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32) |
Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла-предка для указанного объекта SiteMapNode и извлечения его дочерних узлов. (Унаследовано от SiteMapProvider) |
GetRootNodeCore() |
Во время переопределения в производном классе получает корневой узел для всех узлов, которыми в настоящее время управляет текущий поставщик. (Унаследовано от SiteMapProvider) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
HintAncestorNodes(SiteMapNode, Int32) |
Предоставляет метод, который поставщики карт веб-узлов могут переопределить для проведения оптимизированного получения одного или нескольких уровней родительских и дочерних узлов, связанных с указанным объектом SiteMapNode. (Унаследовано от SiteMapProvider) |
HintNeighborhoodNodes(SiteMapNode, Int32, Int32) |
Предоставляет метод, который поставщики карт веб-узлов могут переопределить для проведения оптимизированного получения узлов, найденных в пределах указанного узла. (Унаследовано от SiteMapProvider) |
Initialize(String, NameValueCollection) |
Выполняет инициализацию реализации SiteMapProvider, включающей любые ресурсы, которые необходимы для загрузки данных карты веб-узла из постоянного хранилища. (Унаследовано от SiteMapProvider) |
IsAccessibleToUser(HttpContext, SiteMapNode) |
Возвращает логическое значение, показывающее, может ли пользователь просматривать указанный объект SiteMapNode в заданном контексте. (Унаследовано от SiteMapProvider) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
RemoveNode(SiteMapNode) |
Удаляет указанный SiteMapNode из всех коллекций узлов карт веб-узлов, которые отслеживаются поставщиком карты веб-узла. |
ResolveSiteMapNode(HttpContext) |
Вызывает событие SiteMapResolve. (Унаследовано от SiteMapProvider) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |
События
SiteMapResolve |
Происходит при вызове свойства CurrentNode. (Унаследовано от SiteMapProvider) |