mvc 3 sitemap provider - несколько путей, указывающих на один и тот же узел

Я недавно начал использовать провайдера карты сайта marteenba , потому что не смог решить проблему с маршрутом другая карта сайта у меня была. Это намного лучше, чем мой предыдущий. У меня вопрос: как я могу создавать различные цепочки крошек из страниц, которые идут на одну главную страницу? Рассмотрим идею ниже:

Структура сайта

<mvcSiteMapNode title="Home" controller="Home" action="Index" changeFrequency="Always" updatePriority="Normal">
       <mvcSiteMapNode title="Clients Search" controller="ClientBussiness" action="ClientSearch" description="Clients Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>

        <mvcSiteMapNode title="Advanced Search" controller="ClientBussiness" action="AdvancedSearch" description="Clients Advanced Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>

        <mvcSiteMapNode title="Another Search" controller="ClientBussiness" action="AnotherSearch" description="Clients Another Search">
            <mvcSiteMapNode title="Contract Analysis" controller="Contract" action="Index"/>
        </mvcSiteMapNode>
</mvcSiteMapNode>

В приведенном выше примере мой след всегда показывает узел Поиск клиентов вместо любого другого. Я не знаю, следует ли создавать разные маршруты для каждого вида поиска (я делал это на моей последней карте сайта, но, к сожалению, iis6 это не понравилось).

Я ценю вашу помощь.

ИЗМЕНИТЬ

при поиске на форумах я нашел похожий вопрос. Итак, рассмотрим структуру ниже:

Home >> Search >> Contracts
Home >> Another Search >> Contracts
Home >> Advanced Search >> Contracts
Home >> Web Service Search >> Extra fields >> Contracts
4 голоса | спросил AdrianoRR 8 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 08 Sep 2011 19:27:24 +0400 2011, 19:27:24

1 ответ


0

Ну, похоже, все, что мне нужно было сделать, это добавить некоторые атрибуты динамических узлов на мои контроллеры. Вы можете прочитать, как это сделать здесь . Используя приведенный выше пример, вот как это делается:

 [MvcSiteMapNodeAttribute(Title = "Search", Key = "search", ParentKey = "ContractSearch", Route = "SearchRoute")]
        [MvcSiteMapNodeAttribute(Title = "AdvancedSearch", Key = "ContractAdvSearch", ParentKey = "AdvSearch", Route = "AdvSearchRoute")]
        [MvcSiteMapNodeAttribute(Title = "AnotherSearch", Key = "ContractAnotherSearch", ParentKey = "AnotherSearch", Route = "AnotherSearchRoute")]
        public ActionResult ContractIndex()
{
   //Things to do...         
}

В приведенном выше примере каждый вид поиска будет правильно определен на пути крошки. Имейте в виду, что вы должны определить различные маршруты для каждого вида «поиска», который вы хотите использовать. Итак, если вы хотите, чтобы 3 узла указывали на один и тот же URL, каждый узел должен иметь свой собственный маршрут и свой ключ, определенный в MvcSiteMapNodeAttribute .

ответил AdrianoRR 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowMon, 12 Sep 2011 17:14:35 +0400 2011, 17:14:35

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132