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