XmlSiteMapProvider Класс

Определение

Класс XmlSiteMapProvider является производным от класса SiteMapProvider и является поставщиком карты веб-узла по умолчанию для ASP.NET.The XmlSiteMapProvider class is derived from the SiteMapProvider class and is the default site map provider for ASP.NET. Класс XmlSiteMapProvider формирует деревья карты веб-узла из XML-файлов с расширением имени файла .sitemap.The XmlSiteMapProvider class generates site map trees from XML files with the file name extension .sitemap.

public ref class XmlSiteMapProvider : System::Web::StaticSiteMapProvider, IDisposable
public class XmlSiteMapProvider : System.Web.StaticSiteMapProvider, IDisposable
type XmlSiteMapProvider = class
    inherit StaticSiteMapProvider
    interface IDisposable
Public Class XmlSiteMapProvider
Inherits StaticSiteMapProvider
Implements IDisposable
Наследование
Реализации

Комментарии

XmlSiteMapProvider Класс загружает данные схемы сайта из XML-файла, который следует за известной схемой.The XmlSiteMapProvider class loads site map data from an XML file that follows a known schema. Данные карт узла ограничены <siteMap> тегами и состоят из вложенных <siteMapNode> тегов.The site map data is bounded by <siteMap> tags and consists of nested <siteMapNode> tags. Классы SiteMapProvider иXmlSiteMapProvider в структуре данных карт узла накладывают два ограничения.Two constraints are imposed by the SiteMapProvider and XmlSiteMapProvider classes on the structure of the site map data:

  • Может существовать только один корневой узел.Only one root node can exist.

  • Для SiteMapNode объектов, указывающих URL-адреса, URL-адреса должны быть уникальными в пределах области поставщика.For SiteMapNode objects that specify URLs, the URLs must be unique within the scope of the provider. (Для узлов, не указывающих URL-адреса, все ключи должны быть уникальными.)(For nodes that do not specify URLs, all keys must be unique.)

В следующем примере кода показан пример XML-файла, который можно использовать с XmlSiteMapProvider.The following code example shows an example of an XML file that can be used with the XmlSiteMapProvider.

<siteMap>  
  <siteMapNode title="RootNode" description="This is the root node of the site map. There can be only one root node." url="Page1.aspx" >  
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page2.aspx">  
      <siteMapNode title="ChildOfChildNode" description="SiteMapNode objects can be nested to any level." url="Page3.aspx"/>  
    </siteMapNode>  
    <siteMapNode title="ChildofRootNode" description="Descriptions do not have to be unique." url="Page4.aspx"/>  
  </siteMapNode>  
</siteMap>  

XmlSiteMapProvider Является поставщиком по умолчанию для ASP.NET и считывает XML-данные из файла с именем Web. Sitemap, который находится в структуре каталогов приложения ASP.NET.The XmlSiteMapProvider is the default provider for ASP.NET and it reads XML data from a file named Web.sitemap that is located within the directory structure of the ASP.NET application. По умолчанию файл Web. Sitemap находится в корне приложения. Однако если вы хотите изменить имя или расположение файла, из которого XmlSiteMapProvider загружаются данные, можно переопределить конфигурацию по умолчанию в файле Web. config.By default, the Web.sitemap file is located at the application root; however, if you want to change the name or location of the file from which the XmlSiteMapProvider loads data, you can override the default configuration in your Web.config file. Переопределяя параметры конфигурации по умолчанию в файле Web. config, при необходимости можно адаптировать поведение XmlSiteMapProvider для каждого приложения ASP.NET.By overriding the default configuration settings in your Web.config file, you can tailor the behavior of the XmlSiteMapProvider for each ASP.NET application, as necessary.

В следующем примере кода показан пример файла Web. config, в XmlSiteMapProvider котором все еще используется, но используется другой файл схемы узла.The following code example demonstrates an example Web.config file, where the XmlSiteMapProvider is still used, but a different site map file is used. Поскольку все поставщики в SiteMapProviderCollection объекте должны называться уникальными, то, что указывается в файле Web. config, использует имя, отличное от значения по умолчанию, но также установленное как поставщик по умолчанию, так что он будет использоваться вместо XmlSiteMapProvider , указанного в TH Конфигурация ASP.NET по умолчанию.Because all providers in a SiteMapProviderCollection object must be named uniquely, the one that is specified in the Web.config file uses a name other than the default but is also set as the default provider so that it will be used instead of the XmlSiteMapProvider that is specified in the default ASP.NET configuration.

Примечание

Имя файла данных навигации по сайту можно изменить, но его расширение изменить нельзя.You can change the name of the site navigation data file, but you cannot change its extension. Считывает XmlSiteMapProvider только данные из файлов с именами с именем файла с расширением Sitemap.The XmlSiteMapProvider only reads data from files that are named with the file name extension .sitemap.

<siteMap defaultProvider="MyXmlSiteMapProvider" enabled="true">  
  <providers>  
    <add name="MyXmlSiteMapProvider"  
      description="SiteMap provider that reads in .sitemap files."  
      type="System.Web.XmlSiteMapProvider, System.Web, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"  
      siteMapFile="CustomWeb.sitemap" />  
  </providers>  
</siteMap>  

Конструкторы

XmlSiteMapProvider()

Создает новый безымянный экземпляр класса XmlSiteMapProvider.Creates a new, unnamed, instance of the XmlSiteMapProvider class.

Свойства

CurrentNode

Получает объект SiteMapNode, представляющий запрашиваемую в данный момент страницу.Gets the SiteMapNode object that represents the currently requested page.

Description

Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI).Gets a brief, friendly description suitable for display in administrative tools or other user interfaces (UIs).

(Унаследовано от ProviderBase)
EnableLocalization

Получает или задает логическое значение, показывающее, возвращается ли локализованное значение атрибутов SiteMapNode.Gets or sets a Boolean value indicating whether localized values of SiteMapNode attributes are returned.

(Унаследовано от SiteMapProvider)
Name

Возвращает понятное имя, используемое для ссылки на поставщика во время конфигурирования.Gets the friendly name used to refer to the provider during configuration.

(Унаследовано от ProviderBase)
ParentProvider

Получает или задает родительский объект SiteMapProvider текущего поставщика.Gets or sets the parent SiteMapProvider object of the current provider.

(Унаследовано от SiteMapProvider)
ResourceKey

Возвращает или задает ключ ресурса, используемый для локализации атрибутов SiteMapNode.Get or sets the resource key that is used for localizing SiteMapNode attributes.

(Унаследовано от SiteMapProvider)
RootNode

Возвращает корневой узел карты узла.Gets the root node of the site map.

RootProvider

Получает корневой объект SiteMapProvider в текущую иерархию поставщиков.Gets the root SiteMapProvider object in the current provider hierarchy.

(Унаследовано от SiteMapProvider)
SecurityTrimmingEnabled

Получает логическое значение, показывающее, фильтрует ли поставщик карты веб-узла узлы карты веб-узла на основе роли пользователя.Gets a Boolean value indicating whether a site map provider filters site map nodes based on a user's role.

(Унаследовано от SiteMapProvider)

Методы

AddNode(SiteMapNode)

Добавляет объект SiteMapNode в коллекцию узлов, которую поддерживает поставщик карты веб-узла.Adds a SiteMapNode object to the node collection that is maintained by the site map provider.

(Унаследовано от SiteMapProvider)
AddNode(SiteMapNode, SiteMapNode)

Добавляет объект SiteMapNode в коллекции, которые поддерживаются текущим поставщиком.Adds a SiteMapNode object to the collections that are maintained by the current provider.

AddProvider(String, SiteMapNode)

Связывает дочерний поставщик карты веб-узла с текущим поставщиком.Links a child site map provider to the current provider.

BuildSiteMap()

Загружает сведения о карте веб-узла из XML-файла и создает их в памяти.Loads the site map information from an XML file and builds it in memory.

Clear()

Удаляет все элементы в коллекции узлов дочерних и родительских карт веб-узла и поставщиков карты веб-узла, которое объект XmlSiteMapProvider отслеживает внутренне, как часть собственного состояния.Removes all elements in the collections of child and parent site map nodes and site map providers that the XmlSiteMapProvider object internally tracks as part of its state.

Dispose()

Сообщает файловому монитору файла Web.sitemap о том, что объекту XmlSiteMapProvider больше не требуется мониторинг файла.Notifies the file monitor of the Web.sitemap file that the XmlSiteMapProvider object no longer requires the file to be monitored.

Dispose(Boolean)

Сообщает файловому монитору файла Web.sitemap о том, что объекту XmlSiteMapProvider больше не требуется мониторинг файла.Notifies the file monitor of the Web.sitemap file that the XmlSiteMapProvider object no longer requires the file to be monitored. Метод Dispose(Boolean) принимает логический параметр, указывающий вызван ли метод из кода пользователя.The Dispose(Boolean) method takes a Boolean parameter indicating whether the method is called by user code.

Equals(Object)

Определяет, равен ли заданный объект текущему объекту.Determines whether the specified object is equal to the current object.

(Унаследовано от Object)
FindSiteMapNode(HttpContext)

Представляет объект SiteMapNode, представляющий запрашиваемую в настоящий момент страницу с использованием указанного объекта HttpContext.Retrieves a SiteMapNode object that represents the currently requested page using the specified HttpContext object.

(Унаследовано от SiteMapProvider)
FindSiteMapNode(String)

Получает объект SiteMapNode, который представляет страницу по указанному URL-адресу.Retrieves a SiteMapNode object that represents the page at the specified URL.

FindSiteMapNodeFromKey(String)

Получает объект SiteMapNode на основе указанного ключа.Retrieves a SiteMapNode object based on a specified key.

GetChildNodes(SiteMapNode)

Возвращает дочерний узел карты сайта.Returns the child nodes of the site map.

GetCurrentNodeAndHintAncestorNodes(Int32)

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла для запрашиваемой в настоящее время страницы и извлекает родительские узлы и узлы-предки карт веб-узлов для текущей страницы.Provides an optimized lookup method for site map providers when retrieving the node for the currently requested page and fetching the parent and ancestor site map nodes for the current page.

(Унаследовано от SiteMapProvider)
GetCurrentNodeAndHintNeighborhoodNodes(Int32, Int32)

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла для запрашиваемой в настоящее время страницы и извлекает узлы карты веб-узла в пределах текущего узла.Provides an optimized lookup method for site map providers when retrieving the node for the currently requested page and fetching the site map nodes in the proximity of the current node.

(Унаследовано от SiteMapProvider)
GetHashCode()

Служит хэш-функцией по умолчанию.Serves as the default hash function.

(Унаследовано от Object)
GetParentNode(SiteMapNode)

Возвращает родительский узел карты сайта.Returns the parent node of the site map.

GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла-предка для запрашиваемой в настоящее время страницы и извлекает узлы-потомки для узла-предка.Provides an optimized lookup method for site map providers when retrieving an ancestor node for the currently requested page and fetching the descendant nodes for the ancestor.

(Унаследовано от SiteMapProvider)
GetParentNodeRelativeToNodeAndHintDownFromParent(SiteMapNode, Int32, Int32)

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла-предка для указанного объекта SiteMapNode и извлечения его дочерних узлов.Provides an optimized lookup method for site map providers when retrieving an ancestor node for the specified SiteMapNode object and fetching its child nodes.

(Унаследовано от SiteMapProvider)
GetRootNodeCore()

Извлекает верхний узел текущей структуры данных о карте веб-узла.Retrieves the top-level node of the current site map data structure.

GetType()

Возвращает объект Type для текущего экземпляра.Gets the Type of the current instance.

(Унаследовано от Object)
HintAncestorNodes(SiteMapNode, Int32)

Предоставляет метод, который поставщики карт веб-узлов могут переопределить для проведения оптимизированного получения одного или нескольких уровней родительских и дочерних узлов, связанных с указанным объектом SiteMapNode.Provides a method that site map providers can override to perform an optimized retrieval of one or more levels of parent and ancestor nodes, relative to the specified SiteMapNode object.

(Унаследовано от SiteMapProvider)
HintNeighborhoodNodes(SiteMapNode, Int32, Int32)

Предоставляет метод, который поставщики карт веб-узлов могут переопределить для проведения оптимизированного получения узлов, найденных в пределах указанного узла.Provides a method that site map providers can override to perform an optimized retrieval of nodes found in the proximity of the specified node.

(Унаследовано от SiteMapProvider)
Initialize(String, NameValueCollection)

Выполняет инициализацию объекта XmlSiteMapProvider.Initializes the XmlSiteMapProvider object. Метод Initialize(String, NameValueCollection) в действительности не собирает карту веб-узла, он только подготавливает состояние объекта XmlSiteMapProvider, который выполняет это.The Initialize(String, NameValueCollection) method does not actually build a site map, it only prepares the state of the XmlSiteMapProvider to do so.

IsAccessibleToUser(HttpContext, SiteMapNode)

Возвращает логическое значение, показывающее, может ли пользователь просматривать указанный объект SiteMapNode в заданном контексте.Retrieves a Boolean value indicating whether the specified SiteMapNode object can be viewed by the user in the specified context.

(Унаследовано от SiteMapProvider)
MemberwiseClone()

Создает неполную копию текущего объекта Object.Creates a shallow copy of the current Object.

(Унаследовано от Object)
RemoveNode(SiteMapNode)

Удаляет указанный объект SiteMapNode из всех коллекций, которые отслеживаются поставщиком.Removes the specified SiteMapNode object from all node collections that are tracked by the provider.

RemoveProvider(String)

Удаляет связанный дочерний поставщик карты веб-узла из иерархии для текущего поставщика.Removes a linked child site map provider from the hierarchy for the current provider.

ResolveSiteMapNode(HttpContext)

Вызывает событие SiteMapResolve.Raises the SiteMapResolve event.

(Унаследовано от SiteMapProvider)
ToString()

Возвращает строку, представляющую текущий объект.Returns a string that represents the current object.

(Унаследовано от Object)

События

SiteMapResolve

Происходит при вызове свойства CurrentNode.Occurs when the CurrentNode property is called.

(Унаследовано от SiteMapProvider)

Применяется к

Дополнительно