ASP.NET MVC - простые хлебные крошки (SiteMap) - PullRequest
2 голосов
/ 15 марта 2011

Я разработал приложение ASP.NET MVC 2, и я хочу поместить простые хлебные крошки (карта сайта) на каждую страницу, например:

Главная страница> Фильмы> Детали

Это равно URL: http://localhost/home/movies/details

Как мне этого добиться? Я хотел бы разместить его на своей главной странице.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

Я бы рекомендовал использовать MVCSiteMapProvider . Он доступен в виде пакета NuGet.

Может использоваться для создания панировочных сухарей (о которых вы, вероятно, спрашиваете), а также для карт сайтов.

MvcSiteMapProvider, как имя подразумевается, ASP.NET MVC Реализация SiteMapProvider для ASP.NET MVC Framework. Нацелены на ASP.NET MVC 2, он предоставляет карту сайта XML функциональность и совместимость с классической картой сайта ASP.NET элементы управления, такие как элемент управления SiteMapPath для рендеринга хлебных крошек и меню управление.

На основе областей, контроллера и действия имена методов, а не жестко заданные URL ссылки, узлы карты сайта полностью динамический на основе механизм маршрутизации, используемый в приложении. Динамический характер ASP.NET MVC сопровождается в MvcSiteMapProvider: Есть многочисленные возможности расширения точки, которые позволяют продлить предлагается базовая функциональность.

1 голос
/ 15 марта 2011

Если он всегда равен URL, то самым простым будет использовать его, используя что-то вроде этого:

var menuitems = Request.Url.AbsolutePath.Split("/".ToCharArray(),
    StringSplitOptions.RemoveEmptyEntries);

menuitems теперь будет содержать пункты меню, необходимые для выполнения простого цикла foreach и построения меню.

...