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 в коллекцию узлов, которую поддерживает поставщик карты веб-узла. (Унаследовано от SiteMapProvider) |
AddNode(SiteMapNode, SiteMapNode) |
Добавляет объект SiteMapNode в коллекции, которые поддерживаются текущим поставщиком. |
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) |