Поделиться через


XmlSiteMapProvider Класс

Определение

Класс XmlSiteMapProvider является производным от класса SiteMapProvider и является поставщиком карты веб-узла по умолчанию для ASP.NET. Класс XmlSiteMapProvider формирует деревья карты веб-узла из XML-файлов с расширением имени файла .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-файла, следующего за известной схемой. Данные карты сайта ограничены тегами <siteMap> и состоят из вложенных <siteMapNode> тегов. Классы и XmlSiteMapProvider накладывают SiteMapProvider два ограничения на структуру данных карты сайта:

  • Может существовать только один корневой узел.

  • Для SiteMapNode объектов, указывающих URL-адреса, URL-адреса должны быть уникальными в пределах области поставщика. (Для узлов, не указывающих URL-адреса, все ключи должны быть уникальными.)

В следующем примере кода показан пример XML-файла, который можно использовать с 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. По умолчанию файл Web.sitemap находится в корневом каталоге приложения; Однако если вы хотите изменить имя или расположение файла, из которого XmlSiteMapProvider загружаются данные, можно переопределить конфигурацию по умолчанию в файле Web.config. Переопределив параметры конфигурации по умолчанию в файле Web.config, можно при необходимости настроить поведение XmlSiteMapProvider для каждого ASP.NET приложения.

В следующем примере кода показан пример Web.config файла, где по-прежнему XmlSiteMapProvider используется , но используется другой файл карты сайта. Так как все поставщики в SiteMapProviderCollection объекте должны иметь уникальные имена, тот, который указан в файле Web.config, использует имя, отличное от стандартного, но также задается в качестве поставщика по умолчанию, чтобы он использовался вместо , указанного XmlSiteMapProvider в конфигурации ASP.NET по умолчанию.

Примечание

Вы можете изменить имя файла данных навигации сайта, но нельзя изменить его расширение. Только XmlSiteMapProvider считывает данные из файлов с именем с расширением .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.

Свойства

CurrentNode

Получает объект SiteMapNode, представляющий запрашиваемую в данный момент страницу.

CurrentNode

Получает объект SiteMapNode, представляющий запрашиваемую в данный момент страницу.

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

Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI).

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

Получает или задает логическое значение, показывающее, возвращается ли локализованное значение атрибутов SiteMapNode.

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

Возвращает понятное имя, используемое для ссылки на поставщика во время конфигурирования.

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

Получает или задает родительский объект SiteMapProvider текущего поставщика.

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

Возвращает или задает ключ ресурса, используемый для локализации атрибутов SiteMapNode.

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

Возвращает корневой узел карты узла.

RootProvider

Получает корневой объект SiteMapProvider в текущую иерархию поставщиков.

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

Получает логическое значение, показывающее, фильтрует ли поставщик карты веб-узла узлы карты веб-узла на основе роли пользователя.

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

Методы

AddNode(SiteMapNode, SiteMapNode)

Добавляет объект SiteMapNode в коллекции, которые поддерживаются текущим поставщиком.

AddNode(SiteMapNode)

Добавляет объект SiteMapNode в коллекцию узлов, которую поддерживает поставщик карты веб-узла.

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

Связывает дочерний поставщик карты веб-узла с текущим поставщиком.

BuildSiteMap()

Загружает сведения о карте веб-узла из XML-файла и создает их в памяти.

Clear()

Удаляет все элементы в коллекции узлов дочерних и родительских карт веб-узла и поставщиков карты веб-узла, которое объект XmlSiteMapProvider отслеживает внутренне, как часть собственного состояния.

Dispose()

Сообщает файловому монитору файла Web.sitemap о том, что объекту XmlSiteMapProvider больше не требуется мониторинг файла.

Dispose(Boolean)

Сообщает файловому монитору файла Web.sitemap о том, что объекту XmlSiteMapProvider больше не требуется мониторинг файла. Метод Dispose(Boolean) принимает логический параметр, указывающий вызван ли метод из кода пользователя.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

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

Представляет объект SiteMapNode, представляющий запрашиваемую в настоящий момент страницу с использованием указанного объекта HttpContext.

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

Получает объект SiteMapNode, который представляет страницу по указанному URL-адресу.

FindSiteMapNodeFromKey(String)

Получает объект SiteMapNode на основе указанного ключа.

GetChildNodes(SiteMapNode)

Возвращает дочерний узел карты сайта.

GetChildNodes(SiteMapNode)

Извлекает дочерние узлы карты веб-узла конкретного объекта SiteMapNode.

(Унаследовано от StaticSiteMapProvider)
GetCurrentNodeAndHintAncestorNodes(Int32)

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла для запрашиваемой в настоящее время страницы и извлекает родительские узлы и узлы-предки карт веб-узлов для текущей страницы.

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

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла для запрашиваемой в настоящее время страницы и извлекает узлы карты веб-узла в пределах текущего узла.

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

Служит хэш-функцией по умолчанию.

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

Возвращает родительский узел карты сайта.

GetParentNode(SiteMapNode)

Представляет родительский узел карты веб-узла указанного объекта SiteMapNode.

(Унаследовано от StaticSiteMapProvider)
GetParentNodeRelativeToCurrentNodeAndHintDownFromParent(Int32, Int32)

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла-предка для запрашиваемой в настоящее время страницы и извлекает узлы-потомки для узла-предка.

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

Предоставляет оптимизированный метод просмотра для поставщиков карт веб-узлов во время получения узла-предка для указанного объекта SiteMapNode и извлечения его дочерних узлов.

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

Извлекает верхний узел текущей структуры данных о карте веб-узла.

GetType()

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

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

Предоставляет метод, который поставщики карт веб-узлов могут переопределить для проведения оптимизированного получения одного или нескольких уровней родительских и дочерних узлов, связанных с указанным объектом SiteMapNode.

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

Предоставляет метод, который поставщики карт веб-узлов могут переопределить для проведения оптимизированного получения узлов, найденных в пределах указанного узла.

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

Выполняет инициализацию объекта XmlSiteMapProvider. Метод Initialize(String, NameValueCollection) в действительности не собирает карту веб-узла, он только подготавливает состояние объекта XmlSiteMapProvider, который выполняет это.

IsAccessibleToUser(HttpContext, SiteMapNode)

Возвращает логическое значение, показывающее, может ли пользователь просматривать указанный объект SiteMapNode в заданном контексте.

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

Создает неполную копию текущего объекта Object.

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

Удаляет указанный объект SiteMapNode из всех коллекций, которые отслеживаются поставщиком.

RemoveProvider(String)

Удаляет связанный дочерний поставщик карты веб-узла из иерархии для текущего поставщика.

ResolveSiteMapNode(HttpContext)

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

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

Возвращает строку, представляющую текущий объект.

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

События

SiteMapResolve

Происходит при вызове свойства CurrentNode.

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

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

См. также раздел