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> тегов. Два ограничения накладываются SiteMapProvider на структуру данных карты сайта и XmlSiteMapProvider классы:

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

  • Для 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.

Note

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

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

(Унаследовано от 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)

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

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