Общие сведения об структуре переходов веб-узла ASP.NET

Visual Studio 2010

Обновлен: Ноябрь 2007

Для обеспечения способа навигации пользователей по веб-узлу можно использовать возможности структуры переходов веб-узла ASP.NET. По мере роста веб-узла и перемещения страниц по веб-узлу становится весьма сложно управлять всеми ссылками. Структура переходов веб-узла ASP.NET позволяет хранить ссылки на все страницы в одном месте и отображать эти ссылки в списках или в меню переходов на каждой странице путем включения определенного веб-серверного элемента управления.

Для создания согласованного, простого в управлении решения навигации по веб-узлу можно использовать возможности структуры переходов веб-узла ASP.NET. Структура переходов веб-узла ASP.NET предлагает следующие возможности:

  • Карты веб-узла   Можно использовать карту узла для описания логической структуры узла. Затем можно управлять навигацией страницы, изменяя карту узла по мере добавления или удаления страниц, вместо изменения гиперссылок на всех веб-страницах.

  • Элементы управления ASP.NET    Можно использовать элементы управления ASP.NET для отображения меню навигации на веб-страницах. Меню навигации основывается на карте веб-узла.

  • Программный элемент управления   Для создания пользовательских элементов управления структурой переходов веб-узла или изменения расположения данных, которые отображаются в меню переходов можно работать с навигацией веб-узла ASP.NET в коде.

  • Правила доступа    Можно настроить правила доступа для отображения или скрытия ссылки в меню переходов.

  • Пользовательские поставщики карты сайта    Можно создать пользовательских поставщиков карты сайта, которые позволят работать с собственной картой сайта сервера (например, с базой данных, где хранятся сведения о ссылке) и включить поставщика в систему навигации по сайту ASP.NET.

С помощью структуры переходов веб-узла ASP.NET описывают макет узла в виде иерархической структуры. Например, вымышленное компьютерное хранилище в сети может содержать узел, состоящий из восьми страниц, которые расположены следующим способом.

Home
   Products
      Hardware
      Software
   Services
      Training
      Consulting
      Support

Чтобы использовать структуру переходов веб-узла, начните с создания карты узла или представления узла. Можно описать иерархию узла в XML-файле, но есть и другие способы. Дополнительные сведения и пример см. в разделе Карты узла ASP.NET.

После создания карты узла можно отобразить структуру переходов на странице ASP.NET с помощью элемента управления структурой переходов веб-узла. Пример см. в разделе Пошаговое руководство. Добавление простой структуры переходов веб-узла.

Процесс загрузки карты веб-узла

Поставщик по умолчанию карты веб-узла ASP.NET загружает карту веб-узла в виде XML-документа и при запуске приложения кэширует карту в виде статических данных. Слишком большой файл карты веб-узла во время загрузки может занять большой объем памяти и ресурсов процессора. Возможности структуры переходов веб-узла ASP.NET зависят от уведомления об изменении файлов для поддержки актуальность навигационных данных. Когда файл карты веб-узла изменяется, ASP.NET перезагружает данные карты веб-узла. Убедитесь, что антивирусное программное обеспечение настроено таким образом, что оно не изменяет файлы карты сайта. Дополнительные сведения см. в разделе Безопасность системы навигации веб-узла ASP.NET.

Создание карты узла, отражающей структуру узла, является одной из частей системы навигации по узлу ASP.NET. Другая часть предназначена для отображения структуры переходов веб-страницы ASP.NET таким образом, чтобы пользователи могли легко перемещаться по узлу. Можно легко встроить навигацию в страницы с помощью следующих элементов управления структурой переходов веб-узла ASP.NET:

  • SiteMapPath   Этот элемент управления отображает путь перехода — который также называют иерархическим — который показывает пользователю текущее положение страницы и отображает ссылки в качестве обратного пути на домашнюю страницу. Элемент управления предоставляет множество параметров для настройки внешнего вида ссылок.

  • TreeView   Этот элемент управления отображает структуру дерева или меню, по которому пользователи могут проходить для получения различных страниц веб-узла. Узел, содержащий дочерние узлы, может быть развернут или свернут щелчком мыши.

  • Menu   Этот элемент управления отображает расширяемое меню, по которому пользователи могут проходить для получения различных страниц веб-узла. Узел, содержащий дочерние узлы, расширяется при наведении курсора на меню.

Если добавить элемент управления SiteMapPath на страницу «Обучение» из компьютерного хранилища предыдущего примера, то элемент управления SiteMapPath будет отображать примерно следующее, со страницами «Домашняя страница» и «Услуги» в виде гиперссылок:

Домашняя страница > Услуги > Обучение

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

Элемент управления SiteMapPath позволяет пользователям перейти в обратном направлении с текущей страницы на страницы, расположенные выше в иерархии узла. Однако элемент управления SiteMapPath не позволяет осуществлять навигацию вперед из текущей страницы к другой странице, находящейся глубже в иерархии. Элемент управления SiteMapPath полезен в приложениях группы новостей или доски объявлений, где пользователям необходимо видеть путь к просматриваемой статье.

С помощью элемента управления TreeView или Menu пользователи могут открыть узлы и перейти напрямую к определенной странице. Данные элементы управления не считывают напрямую карту узла, как элемент управления SiteMapPath. Вместо этого добавьте элемент управления SiteMapDataSource на страницу, позволяющую считывать карту узла. Затем осуществите привязку элемента управления TreeView или Menu к элементу управления SiteMapDataSource, в результате чего на странице отобразится карта узла. Элемент управления TreeView отобразит примерно следующее:

Домашняя страница

   - Услуги

      + Обучение

e468hxky.alert_note(ru-ru,VS.100).gifПримечание.

Самым простым способом отображения элементов управления SiteMapPath, TreeView или Menu на всех страницах узла является создание главной страницы и добавление на эту страницу элементов управления. Дополнительные сведения см. в разделе Общие сведения о главных страницах ASP.NET.

Можно использовать элементы управления переходов для добавления структуры переходов веб-узла на страницы с минимальными количеством кода, или совсем без него, но можно также работать со структурой переходов узла программными средствами. При запуске веб-приложения ASP.NET создает объект SiteMap, отражающий структуру карты узла. Все члены объекта SiteMap являются статичными. Объект SiteMap, в свою очередь, предоставляет коллекцию объектов SiteMapNode, содержащих свойства для каждого узла в карте. (При использовании элемента управления SiteMapPath он работает с объектами SiteMap и SiteMapNode для автоматического отображения соответствующих ссылок).

Можно использовать объекты SiteMap, SiteMapNode и SiteMapProvider в собственном коде для перемещения по структуре карты узла или для создания пользовательского элемента управления для отображения данных карты узла. Нельзя осуществлять запись в карту узла, но можно изменить ее узлы в экземпляре объекта. Дополнительные сведения см. в разделе Практическое руководство. Программное изменение узлов карты веб-узла в памяти или Практическое руководство. Программное перечисление узлов карты веб-узла.

На следующем рисунке показаны отношения между компонентами структуры переходов веб-узла ASP.NET.

Связь между классами структуры переходов веб-узла
Показ: