Я застрял с проблемой, которую я не могу себе представить, я первый человек, который имеет дело с этим.Тем не менее, Google не предлагает ничего полезного, как и SO, поэтому вот и я.
Я использую ASP.NET MVC1 с картой сайта.Используя HTML-помощник, я создаю навигационное меню, которое выделяет текущий выбранный параметр на странице Site.Master.Обычный сценарий и легко сделать с помощью:
foreach ( SiteMapNode subnode in node.ChildNodes) {
if (SiteMap.CurrentNode == subnode) { //got ourselves the current here }
}
Это все прекрасно, но моя проблема в том, что у меня есть 1 контроллер с несколькими действиями.Рассмотрим следующий сценарий:
Учетные записи * клиенты * поставщики * поддержка
Все они будут в моем AccountController, выполняя поиск, идентичный, но с другим значением AccountTypeId.
Когда я читаю значение SiteMap.CurrentNode, оно дает мне просто информацию о том, что я использую AccountController, но не о том, какое действие я вызвал.Я перепробовал множество вещей, но не могу получить запрошенное действие.
Надеюсь, я дал достаточно информации, чтобы дать вам представление о сценарии.Если вам нужно что-нибудь еще, дайте мне знать.
Заранее спасибо:)!
PS: Отправлено в asp.net, так как около 2 месяцев здесь на работе, так что терпите меня.Опыт программирования здесь, но знания C # / .NET в основном равны тому, что могут предоставить мне Google или коллеги.
РЕДАКТИРОВАТЬ: - В ответ на ответ Боба ниже -
IЯ сталкивался с проектом SiteMap Provider, однако я не уделил ему много внимания, так как я использую MVC1, и он нацелен на MVC2.Кроме того, я не совсем уверен, используем ли мы его уже или нет ... В конце концов, у меня есть карта сайта ... И человек, который мог бы сказать мне в офисе, злится напляж где-нибудь на ближайшие 2 недели: (