ASP.NET 2.0 - Навигация (Navigation)

ASP.NET 2.0 имеет встроенные контролы навигации.

Навигация по сайту

Уaintenance навигационного меню для крупных сайтов сложна и трудоемка.

В ASP.NET 2.0 меню можно хранить в файле, что делает его обслуживание более удобным. Этот файл обычно называется web.sitemapхранятся в корневой директории сайта.

Кроме того, ASP.NET 2.0 имеет три новых контрола навигации:

  • Динамические меню
  • TreeViews
  • Путь к сайту-карте

Файл sitemap

Этот учебник использует следующий файл sitemap (сайт-карта):

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
  <siteMapNode title="Дом" url="/aspnet/w3home.aspx">
  <siteMapNode title="Услуги" url="/aspnet/w3services.aspx">
    <siteMapNode title="Обучение" url="/aspnet/w3training.aspx"/>
    <siteMapNode title="Поддержка" url="/aspnet/w3support.aspx"/>
  </siteMapNode>
  </siteMapNode>
</siteMap>

Правила создания файла sitemap:

  • XML-файл должен содержать теги <siteMap> вокруг содержимого
  • Тег <siteMap> может иметь только один подузел <siteMapNode> ("страница дома")
  • У каждого <siteMapNode> может быть несколько подузлов (страницы веб-сайта)
  • У каждого <siteMapNode> есть атрибуты для определения заголовка страницы и URL.

Примечание:Файл sitemap должен храниться в корневой директории сайта, атрибут URL должен быть относительным к этой корневой директории.

Динамическое меню

Контрол <asp:Menu> может отображать стандартное меню навигации сайта.

Пример кода:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:Menu runat="server" DataSourceId="nav1" />
</form>

В примере, приведенном выше <asp:Menu> контроллерЭто плашка, используемая для создания навигационного меню на сервере.

Данные контроллера определяются Атрибут DataSourceIdдля определения.id="nav1" подключите его к Контроллер <asp:SiteMapDataSource>.

Контроллер <asp:SiteMapDataSource>автоматически подключается кDefault sitemap файлу(web.sitemap)。

Нажмите здесь, чтобы увидеть DEMO Menu.

TreeView

Контроллер <asp:TreeView> может отображать многоуровневое навигационное меню.

Такой меню выглядит как дерево с ветвями, которое можно открыть или закрыть с помощью символов + или -.

Пример кода:

<asp:SiteMapDataSource id="nav1" runat="server" />
<form runat="server">
<asp:TreeView runat="server" DataSourceId="nav1" />
</form>

В примере выше Контроллер <asp:TreeView>Это плашка, используемая для создания навигационного меню на сервере.

Данные контроллера определяются Атрибут DataSourceIdдля определения.id="nav1" подключите его к Контроллер <asp:SiteMapDataSource>.

Контроллер <asp:SiteMapDataSource>автоматически подключается кDefault sitemap файлу(web.sitemap)。

Нажмите здесь, чтобы увидеть DEMO TreeView.

SiteMapPath

Контроллер SiteMapPath может отображать указатель на текущую страницу (маршрут навигации). Этот путь отображается в виде кликабельных ссылок на上级 страницы.

В отличие от контроллеров TreeView и Menu, контроллер SiteMapPathНе использовать Контроллер SiteMapPath по умолчанию использует файл web.sitemap.

Совет:Если SiteMapPath не отображается правильно, возможно, это связано с ошибками URL в файле web.sitemap.

Пример кода:

<form runat="server">
<asp:SiteMapPath runat="server" />
</form>

В примере выше Контроллёр <asp:SiteMapPath>Это плашка, используемая для создания навигационного меню на сервере.

Нажмите здесь, чтобы увидеть DEMO SiteMapPath.