重定向到操作在 MVC 中不起作用
Redirect to action doesn't work in MVC
我有一个控制器 CMS
如您所见:
[HttpGet]
public ActionResult Login(string returnUrl)
{
return View(); // show the login page
}
UserRepository ObjUserRepository = new UserRepository();
[HttpPost]
public ActionResult Login(DomainClass.User loginInfo, string returnUrl)
{
if (ObjUserRepository.FindBy(i => i.Email == loginInfo.Email & i.Password == loginInfo.Password).Any())
{
DomainClass.User objUser = ObjUserRepository.FindBy(i => i.Email == loginInfo.Email & i.Password == loginInfo.Password).FirstOrDefault();
FormsAuthentication.SetAuthCookie(loginInfo.Email, false);
if (shouldRedirect(returnUrl))
{
return Redirect(returnUrl);
}
if (objUser.Pemission == "professor")
{
return RedirectToAction("Index", "Home", new { Area = "Teacher" });
}
}
return View(loginInfo);
}
我调用这个 url ../cms/login
并且我的 login
视图出现了,我输入 username
和 password
,这部分代码被执行:
if (objUser.Pemission == "professor")
{
return RedirectToAction("Index", "Home", new { Area = "Teacher" });
}
但是 mvc 再次将我重定向到登录页面,但它应该将我重定向到 /teacher/home/index
改变
return RedirectToAction("Index", "Home", new { Area = "Teacher" });
到
return RedirectToAction("Index", "Home", new { area = "Teacher" });
area
参数为小写。
我有一个控制器 CMS
如您所见:
[HttpGet]
public ActionResult Login(string returnUrl)
{
return View(); // show the login page
}
UserRepository ObjUserRepository = new UserRepository();
[HttpPost]
public ActionResult Login(DomainClass.User loginInfo, string returnUrl)
{
if (ObjUserRepository.FindBy(i => i.Email == loginInfo.Email & i.Password == loginInfo.Password).Any())
{
DomainClass.User objUser = ObjUserRepository.FindBy(i => i.Email == loginInfo.Email & i.Password == loginInfo.Password).FirstOrDefault();
FormsAuthentication.SetAuthCookie(loginInfo.Email, false);
if (shouldRedirect(returnUrl))
{
return Redirect(returnUrl);
}
if (objUser.Pemission == "professor")
{
return RedirectToAction("Index", "Home", new { Area = "Teacher" });
}
}
return View(loginInfo);
}
我调用这个 url ../cms/login
并且我的 login
视图出现了,我输入 username
和 password
,这部分代码被执行:
if (objUser.Pemission == "professor")
{
return RedirectToAction("Index", "Home", new { Area = "Teacher" });
}
但是 mvc 再次将我重定向到登录页面,但它应该将我重定向到 /teacher/home/index
改变
return RedirectToAction("Index", "Home", new { Area = "Teacher" });
到
return RedirectToAction("Index", "Home", new { area = "Teacher" });
area
参数为小写。