Как "напечатать" мое приложение, сохраняя этот тип через страницы
Я разрабатываю приложение для компании, которая продает некоторые продукты, и это приложение отвечает за управление изменениями и возвратами продуктов. Существуют разные правила для изменений и возвратов, но "экраны / просмотры" одинаковы. Это приложение должно иметь разные URL для каждого типа. например:
www.company.com/change
www.company.com/return
приложение должно иметь Login
страница тоже.
Когда я захожу на сайт www.company.com/CHANGE, пользователь перенаправляется на страницу входа и на этой странице появляется ярлык с change
текст.
Когда я захожу на www.company.com/RETURN, пользователь перенаправляется на страницу входа и на этой странице появляется ярлык с return
текст.
Вопрос заключается в следующем: как сохранить этот тип через страницы, напомнив, что если пользователь находится в области аутентификации приложения и выхода из системы, он должен вернуться на правильную страницу входа с правильным текстом метки.
Я пытался сохранить тип в сеансе, но если сеанс закончился, невозможно узнать, какой параметр мне нужно передать на страницу входа (изменить или вернуть)
Я тоже пытался создать новый маршрут в Global.asax
хотел бы сохранить тип, вот так:
routes.MapRoute(
"qwert", // Route name
"{type}/{controller}/{action}/{id}", // URL with parameters
new { controller = "Login", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Но этот URL-адрес, например: "XXX / Home / список" соответствует, и я хотел бы это просто
return/abc/abc
а также
change/abc/abc
чтобы соответствовать.
Я сохраню запись в базе данных с этим типом, в конце процесса.
Как я могу решить эту ситуацию?
1 ответ
Вопрос нуждается в небольшом уточнении, но если я правильно понимаю, просто обрабатывает все ссылки и URL-адреса, содержащие параметр {type}.
Я сделал небольшой тест, и я получил:
В global.asax:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"qwert", // Route name
"{type}/{controller}/{action}/{id}", // URL with parameters
new { controller = "Login", action = "Index", type = "", id = UrlParameter.Optional } // Parameter defaults
);
}
А в LoginController вы можете получить такой тип:
public ActionResult Index(string type)
{
return View();
}
Вы можете создать пользовательский атрибут для истечения срока действия сессии, как описано здесь, и вернуть пользователя на соответствующую страницу www.company.com/ndomtype}.