Мне нужно иметь некоторые параметры навигации, для которых требуются ключи, относящиеся к текущему пользователю, которые находятся на главной странице. Мне нужен совет по лучшей практике.Как установить переменные навигации в MVC Masterpages
В имеют следующие ссылки в левой навигационной панели в MasterPage
http://www.example.com/manageShop/123
Где '123' является магазин идентификатор, который в настоящее время пользователь является менеджером. Мне нужен какой-то способ прохождения этого к MasterPage
В настоящее время я собираюсь что-то по этому поводу:
<li><%= Html.ActionLink<ShopController>(x => x.ManageShop((int)Session["ShopKey"]), "Manage")%></li>
Я думал, что это хорошая идея, так как я только установить ShopKey один раз в сессии и его сделано, нижняя сторона заключается в том, что iv заметил, что сеанс смешанный, если у вас открыт сайт, это две вкладки.
В качестве альтернативы я попытался это:
<li><%= Html.ActionLink<ShopController>(x => x.ManageShop((int)ViewData["ShopKey"]), "Manage")%></li>
Но это означает, что вы должны держать установки ViewData в каждом действии в каждом контроллере. Это ужасно.
EDIT: У меня был подобный фильтр, например, eu-ge-ne, предложенный ниже, но я не решаю эту проблему, поскольку у меня все еще есть проблема установки ShopKey повсюду?
Какое решение?
Это не ужасно, если ваши контроллеры происходят от базового контроллера, который добавляет необходимые ViewData. –
Дайте мне пример того, как? Не могу видеть, как база поможет – Dan