ASP.NET Web Forms - Навигация


В ASP.NET есть встроенные элементы управления навигацией.


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

Поддержка меню для больших веб-сайтов сложна и отнимает много времени.

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

Кроме того, в ASP.NET есть три новых элемента управления навигацией:

  • Динамические меню
  • Древовидные представления
  • Путь карты сайта

Файлы карты сайта

В этом руководстве используется следующий файл карты сайта:

<?xml version="1.0" encoding="ISO-8859-1" ?>
<siteMap>
<siteMapNode title="Home" url="/aspnet/w3home.aspx">
<siteMapNode title="Services" url="/aspnet/w3services.aspx">
<siteMapNode title="Training" url="/aspnet/w3training.aspx"/>
<siteMapNode title="Support" url="/aspnet/w3support.aspx"/>
</siteMapNode>
</siteMapNode>
</siteMap>

Правила создания файла карты сайта:

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

lampПримечание:Файл карты сайта должен располагаться в корневом каталоге сайта, а атрибуты 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>Элемент управления автоматически подключается к файлу карты сайта по умолчанию (web.sitemap)。


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>Элемент управления автоматически подключается к файлу карты сайта по умолчанию (web.sitemap)。


SiteMapPath

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

В отличие от элементов управления TreeView и Menu, элемент управления SiteMapPathне используетSiteMapDataSource. Элемент управления SiteMapPath по умолчанию использует файл web.sitemap.

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

Пример кода:

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

В приведенном выше примере<asp:SiteMapPath>— это элемент управления, который служит заполнителем, с помощью которого сервер создает меню навигации.

Другие расширения