Asp.net MVC указывает категорию/путь вне маршрутизации URL-адресов
Я есть проблема, чтобы принять решение для сдачи
Category/Path
о маршрутизации URL-адресов. Предположим, что у меня есть некоторые продукты в моем образце веб-приложения, которые прикреплены к некоторым категориям. Например:Книга 1 прилагается к -> Category1 | Category2
Книга 2 прилагается к -> Category1 | Category2 | Category3
Книга 3 прилагается к -> Category2 | Category3
А определенная маршрутная карта для продуктов такова:
url: "{controller}/{action}/{languageCode}/{category}/{product}"
по умолчанию: new { controller = "Home", action = "ViewItem" }
Так что возможна маршрутизация для Книга1 являются:
[Доменное имя]/Home/ViewItem/en-US/Category1/Book1
[Доменное имя]/Home/ViewItem/en-US/Category2/Book1
И возможная маршрутизация для Как book2 являются:
[Доменное имя]/Home/ViewItem/en-US/Category1/Book2
[Доменное имя]/Home/ViewItem/en-US/Category2/Book2
[Доменное имя]/Главная страница/ViewItem/en-US/Category3/Book2
Я хочу сохранить и знать текущую категорию, но иметь один уникальный URL-адрес для каждого продукта.
Что я уже пробовал:
Я думаю об использовании
Session Variable
или ViewBag
даже Cookie
Но у каждого из них есть свои ограничения и минусы. Например ***использование файлов cookie может вызвать некоторые проблемы: если установить время истечения срока действия слишком мало, он может потерять текущий путь, когда пользователь делает паузу на некоторых страницах, а если установить его слишком долго, может привести пользователя к старому пути просмотра даже пользователь запросил домашнюю страницу в новом открывающемся браузере из-за существующих файлов cookie(Кроме того, у меня есть некоторый опыт работы с печеньем, и я считаю, что это работает не всегда точно), О Session
и ViewBag
Я не знаю, является ли их использование лучшей идеей, так что может ли кто-нибудь поделиться проверенным решением или хорошей идеей? Я буду вам очень признателен.
Krunal Rohit
попробуйте localStorage.
КР.
QMasters
Спасибо, но речь идет не только о хранении местоположения. Пожалуйста, прочтите вопрос еще раз.