Мне нужны некоторые параметры навигации, для которых требуются ключи, специфичные для текущего пользователя, которые находятся на главной странице. Мне нужен совет по наилучшей практике.
In имеют следующие ссылки в левой навигационной панели на главной странице
http://www.example.com/manageShop/123
http://www.example.com/addProductToShop/123
http://www.example.com/addStaffToShop/123
Где «123» - это идентификатор магазина, менеджером которого является текущий пользователь. Мне нужен способ передать это на главную страницу
Сейчас я собираюсь кое-что на этот счет:
<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 в каждом действии на каждом контроллере. Что ужасно.
РЕДАКТИРОВАТЬ : Я смотрел на фильтры, подобные eu-ge-ne, предложенным ниже, но я не думаю, что это действительно решает мою проблему, так как у меня все еще есть проблема установки ShopKey везде?
Какое решение?