У меня возникают проблемы с перенаправлением с одного контроллера на другой, мое приложение ASP.NE MVC запускается на странице входа в систему, а затем переходит на страницу otp, когда пользователь успешно выполнил вход (LOGIN и OTP действия находятся в одном контроллере).MVC C# Перенаправление на другой контроллер
Когда OTP был успешно отправлен, приложение должно перейти на страницу меню, но вместо этого оно перенаправляется обратно на страницу входа в систему.
AuthenticateController
: Войти действие
// POST: /Authenticate/Login
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(ViewModel_Login model)
{
// do login validation
if (loggedin)
{
return View("OTPAuthentication");
}
else
{
return View(model);
}
}
AuthenticateController
: OTPAuthentication действие
// POST: /Authenticate/OTPAuthentication
[HttpPost]
[AuthorizeUser]
[ValidateAntiForgeryToken]
public ActionResult OTPAuthentication(ViewModel_OTP model)
{
if (ModelState.IsValid)
{
// do OTP validation
return this.RedirectToAction("MainMenu", "Options");
}
else
{
ModelState.AddModelError("", "The one time pin provided is incorrect.");
}
return View(model);
}
OptionsController
: MainMenu действие
// GET: /Options/MainMenu
[AuthorizeUser]
public ActionResult MainMenu()
{
return View();
}
RouteConfig
:
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Authenticate", action = "Login", id = UrlParameter.Optional });
routes.MapRoute(
name: "Menu",
url: "Menu",
defaults: new { controller = "Options", action = "MainMenu" });
routes.MapRoute(
name: "Login",
url: "Login",
defaults: new { controller = "Authenticate", action = "Login" });
routes.MapRoute(
name: "OTP",
url: "OTP",
defaults: new { controller = "Authenticate", action = "OTPAuthentication" });
Что такое просмотр в режиме MainMenu по умолчанию? это указано? – Imad
MainMenu содержит только 3 кнопки ссылки на третий контроллер – ArnoDT