Sdílet prostřednictvím


StaticSiteMapProvider Třída

Definice

Slouží jako částečná implementace abstraktní SiteMapProvider třídy a slouží jako základní třída pro XmlSiteMapProvider třídu, která je výchozím zprostředkovatelem mapy webu v 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
Dědičnost
StaticSiteMapProvider
Odvozené

Příklady

Následující příklad kódu ukazuje, jak rozšířit StaticSiteMapProvider třídu tak, aby používala Microsoft Access jako zprostředkovatele mapy webu. Třída AccessSiteMapProvider je zprostředkovatel mapy webu, který podporuje pouze jednoduchou hierarchii s jednou úrovní. Tabulka, ve které jsou uložená data mapy webu, má následující strukturu:

NODEID URL            NAME       PARENTNODEID  
 ---------------------------------------------  
 1      default.aspx   Default    <NULL>  
 2      catalog.aspx   Catalog    1  
 3      aboutus.aspx   Contact Us 1  
...  

Třída AccessSiteMapProvider je odvozena z StaticSiteMapProvider třídy a načítá své informace z databáze Aplikace Microsoft Access pomocí základních dotazů SQL a OleDbCommand objektů a 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 Nakonec je nakonfigurovaný jako výchozí poskytovatel v následujícím Web.config souboru.

<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>  

Poznámky

Třída StaticSiteMapProvider je částečnou implementací abstraktní SiteMapProvider třídy a poskytuje dvě další metody: AddNode a RemoveNode, stejně jako abstraktní BuildSiteMap a chráněné Clear metody.

Třída StaticSiteMapProvider podporuje zápis zprostředkovatele mapy webu (například XmlSiteMapProvider), který přeloží mapu webu uloženou v trvalém úložišti na mapu uloženou v paměti. Třída StaticSiteMapProvider poskytuje základní implementace pro ukládání a načítání SiteMapNode objektů.

Třídy SiteMapProvider a StaticSiteMapProvider podporují koncept hierarchie zprostředkovatele mapy webu, kde zprostředkovatel mapy webu může mít hierarchický vztah s jinými poskytovateli map webu. Tento model se implementuje s vlastnostmi RootProvider a ParentProvider .

Třída StaticSiteMapProvider ukládá své SiteMapNode objekty do tabulek hash a interně používá SiteMapNode.Url vlastnost stránek, reprezentované uzly mapy webu, jako klíče. (Pokud uzel mapy webu neurčoval adresu URL, je sledován pomocí automaticky generovaného jedinečného klíče.) V důsledku toho nemůžete mít uzly mapy webu, ve kterých se uzel mapy webu se stejnou adresou URL používá více než jednou. Například pokus o načtení uzlu mapy webu znázorněný v následujícím příkladu kódu s XmlSiteMapProvider třídou, která je výchozí ASP.NET zprostředkovatele mapy webu, nebo jakéhokoli zprostředkovatele mapy webu, který je odvozen od StaticSiteMapProvider třídy, nebude fungovat, protože AboutUs.aspx stránka se používá více než jednou.

<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>  

Pokud rozšiřujete StaticSiteMapProvider třídu , tři nejdůležitější metody jsou GetRootNodeCoremetody , Initializea BuildSiteMap . Metody Clear a FindSiteMapNode mají výchozí implementace, které jsou dostatečné pro většinu vlastních implementací zprostředkovatele mapy webu.

Metoda Initialize je volána k inicializaci odvozených zprostředkovatelů mapy webu, včetně všech prostředků potřebných k načtení dat mapy webu, ale pokusí se vytvořit uzel mapy webu v paměti. Pokud odvozená třída používá soubory k ukládání dat mapy webu, můžete zde provést inicializaci souboru. Pokud uzel mapy webu používá jiný typ úložiště dat, například relační databázi, může se zde provést inicializace připojení. Další atributy, jako jsou názvy souborů nebo připojovací řetězce, které jsou umístěny v elementu zprostředkovatele mapy lokality v konfiguraci, jsou zpracovány konfiguračním systémem ASP.NET a předány Initialize metodě s parametrem attributes .

Metoda BuildSiteMap musí být přepsána všemi třídami odvozenými z StaticSiteMapProvider třídy a je volána k načtení uzlu mapy webu z trvalého úložiště a jeho převodu na interní reprezentaci. Metoda BuildSiteMap je volána interně v mnoha výchozích členských implementacích StaticSiteMapProvider tříd a XmlSiteMapProvider . Pokud implementujete vlastního zprostředkovatele mapy webu, zajistěte, aby zpracování dat mapy webu proběhlo jednou a následná volání BuildSiteMap metody se okamžitě vrátila, pokud už byly informace o mapě webu načteny. Při implementaci BuildSiteMap metody se ujistěte, že je bezpečná pro přístup z více vláken, protože více souběžných požadavků na stránku může nepřímo způsobit více volání pro načtení informací o mapě webu. Infrastruktura mapy webu podporuje zobrazení informací o mapě webu na základě role uživatele. V závislosti na Roles vlastnosti podporované jednotlivými SiteMapNode objekty může pro různé uživatele existovat jiná navigační struktura. Výchozí implementace členů načítání uzlů StaticSiteMapProvider mapy webu třídy provádí oříznutí zabezpečení automaticky voláním IsAccessibleToUser metody .

Metody AddNodea ClearRemoveNode pracují s interními kolekcemi, které se používají ke sledování uzlů mapy webu způsobem bezpečným pro přístup z více vláken.

Poznámky pro implementátory

Když dědíte z StaticSiteMapProvider třídy , musíte přepsat následující člen: BuildSiteMap().

Konstruktory

StaticSiteMapProvider()

Inicializuje novou instanci StaticSiteMapProvider třídy .

Vlastnosti

CurrentNode

SiteMapNode Získá objekt, který představuje aktuálně požadované stránky.

(Zděděno od SiteMapProvider)
Description

Získá stručný popis vhodný pro zobrazení v nástrojích pro správu nebo jiných uživatelských rozhraní (UI).

(Zděděno od ProviderBase)
EnableLocalization

Získá nebo nastaví logickou hodnotu označující, zda jsou vráceny lokalizované SiteMapNode hodnoty atributů.

(Zděděno od SiteMapProvider)
Name

Získá popisný název použitý k odkaz na zprostředkovatele během konfigurace.

(Zděděno od ProviderBase)
ParentProvider

Získá nebo nastaví nadřazený SiteMapProvider objekt aktuálního zprostředkovatele.

(Zděděno od SiteMapProvider)
ResourceKey

Získejte nebo nastaví klíč prostředku, který se používá k lokalizaci SiteMapNode atributů.

(Zděděno od SiteMapProvider)
RootNode

Získá kořenový SiteMapNode objekt dat mapy webu, který aktuální zprostředkovatel představuje.

(Zděděno od SiteMapProvider)
RootProvider

Získá kořenový SiteMapProvider objekt v aktuální hierarchii zprostředkovatele.

(Zděděno od SiteMapProvider)
SecurityTrimmingEnabled

Získá logickou hodnotu označující, zda zprostředkovatel mapy webu filtruje uzly mapy webu na základě role uživatele.

(Zděděno od SiteMapProvider)

Metody

AddNode(SiteMapNode, SiteMapNode)

SiteMapNode Přidá do kolekcí, které spravuje poskytovatel mapy webu, a vytvoří vztah nadřazenosti a podřízenosti SiteMapNode mezi objekty.

AddNode(SiteMapNode)

SiteMapNode Přidá objekt do kolekce uzlů, který je spravován poskytovatelem mapy webu.

(Zděděno od SiteMapProvider)
BuildSiteMap()

Při přepsání v odvozené třídě načte informace mapy webu z trvalého úložiště a sestaví je v paměti.

Clear()

Odebere všechny prvky v kolekcích podřízených a nadřazených uzlů mapy webu, které StaticSiteMapProvider objekt sleduje jako součást svého stavu.

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
FindSiteMapNode(HttpContext)

Načte SiteMapNode objekt, který představuje aktuálně požadovanou stránku pomocí zadaného HttpContext objektu.

(Zděděno od SiteMapProvider)
FindSiteMapNode(String)

Načte SiteMapNode objekt, který představuje stránku na zadané adrese URL.

FindSiteMapNodeFromKey(String)

Načte SiteMapNode objekt na základě zadaného klíče.

GetChildNodes(SiteMapNode)

Načte uzly mapy podřízeného webu konkrétního SiteMapNode objektu.

GetCurrentNodeAndHintAncestorNodes(Int32)

Poskytuje optimalizovanou metodu vyhledávání pro zprostředkovatele map webů při načítání uzlu pro aktuálně požadovanou stránku a načítání nadřazených a nadřazených uzlů mapy webu pro aktuální stránku.

(Zděděno od SiteMapProvider)
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32)

Poskytuje optimalizovanou metodu vyhledávání pro zprostředkovatele map webů při načítání uzlu pro aktuálně požadovanou stránku a načítání uzlů mapy webu v blízkosti aktuálního uzlu.

(Zděděno od SiteMapProvider)
GetHashCode()

Slouží jako výchozí hashovací funkce.

(Zděděno od Object)
GetParentNode(SiteMapNode)

Načte nadřazený uzel mapy webu konkrétního SiteMapNode objektu.

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

Poskytuje optimalizovanou metodu vyhledávání pro zprostředkovatele map webů při načítání nadřazeného uzlu pro aktuálně požadovanou stránku a načítání následnických uzlů pro nadřazený uzel.

(Zděděno od SiteMapProvider)
GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32)

Poskytuje optimalizovanou metodu vyhledávání pro zprostředkovatele map webů při načítání nadřazeného uzlu pro zadaný SiteMapNode objekt a načítání jeho podřízených uzlů.

(Zděděno od SiteMapProvider)
GetRootNodeCore()

Při přepsání v odvozené třídě načte kořenový uzel všech uzlů, které jsou aktuálně spravovány aktuálním zprostředkovatelem.

(Zděděno od SiteMapProvider)
GetType()

Type Získá z aktuální instance.

(Zděděno od Object)
HintAncestorNodes(SiteMapNode, Int32)

Poskytuje metodu, kterou zprostředkovatelé mapy webu mohou přepsat, aby provedli optimalizované načtení jedné nebo více úrovní nadřazených a nadřazených uzlů vzhledem k zadanému SiteMapNode objektu.

(Zděděno od SiteMapProvider)
HintNeighborhoodNodes(SiteMapNode, Int32, Int32)

Poskytuje metodu, kterou zprostředkovatelé mapy webu mohou přepsat a provést optimalizované načtení uzlů nalezených v blízkosti zadaného uzlu.

(Zděděno od SiteMapProvider)
Initialize(String, NameValueCollection)

Inicializuje implementaci SiteMapProvider , včetně všech prostředků potřebných k načtení dat mapy webu z trvalého úložiště.

(Zděděno od SiteMapProvider)
IsAccessibleToUser(HttpContext, SiteMapNode)

Načte logickou hodnotu označující, zda lze zadaný SiteMapNode objekt zobrazit uživatelem v zadaném kontextu.

(Zděděno od SiteMapProvider)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Objectsouboru .

(Zděděno od Object)
RemoveNode(SiteMapNode)

Odebere zadaný SiteMapNode objekt ze všech kolekcí uzlu mapy webu, které jsou sledovány poskytovatelem mapy webu.

ResolveSiteMapNode(HttpContext)

SiteMapResolve Vyvolá událost.

(Zděděno od SiteMapProvider)
ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Událost

SiteMapResolve

Vyvolá se při zavolání CurrentNode vlastnosti.

(Zděděno od SiteMapProvider)

Platí pro

Viz také