Динамическое отображение хлебных крошек

У меня есть требование к тому же контроллеру и действию, которое мне нужно, чтобы динамически различать родителя. У меня есть действие под названием «Примечание» и контроллер под названием «Примечание».

Теперь мое требование: Главная>Примечание

Главная>Индекс>Заметка с двух разных экранов.

В моем представлении «Примечание» я использую @Html.MvcSiteMap().SiteMapPath()

для отображения хлебных крошек.

В файле xml в узле Index

Как динамически отображать хлебные крошки?


person user1907849    schedule 25.01.2013    source источник


Ответы (1)


Вам нужно настроить каждый узел в XML, а затем появится HTML-помощник SiteMapPath, который запомнит, где был пользователь.

<mvcSiteMapNode title="Home" controller="Home" action="Index">
    <mvcSiteMapNode title="Note" controller="Home" action="Note"/>
</mvcSiteMapNode>

Обратите внимание, что приведенный вами пример невозможен, потому что / и /Index сопоставляются с одним и тем же действием контроллера. Весь принцип основан на сопоставлении текущего запроса с уникальным узлом карты сайта.

Карта сайта является статической и хранится в кеше, который используется всеми пользователями сайта. Если вам это нужно на основе динамических данных из базы данных, вы можете использовать одну или несколько пользовательских реализаций DynamicNodeProvider, чтобы загружать данные в карту сайта, а не основывать узлы на XML.

person NightOwl888    schedule 20.08.2013