我知道这个问题有点愚蠢,但是我实际上可以重定向到方法中的特定页面吗?
方法
public void CheckAdminPrivilege()
{
if (some if statement)
{
//the redirect wont work
RedirectToAction("someAction", "someController");
}
}
调用方法的 Controller
public ActionResult CreateAdmin()
{
//this one wont redirect
CheckAdminPrivilege();
//SOME OTHER CODE
return View();
}
当我调用 CreateAdmin ActionResult 时,CheckAdminPrivileged 方法正在运行,但 RedirectToAction 没有运行。有没有其他方法可以使用重定向?
最佳答案
尝试一个好的解决方法,如图所示:
方法
public bool CheckAdminPrivilege()
{
if (some if statement)
{
return true;
}
else
{
return false;
}
}
调用方法的 Controller
public ActionResult CreateAdmin()
{
bool token;
token = CheckAdminPrivilege();
if(token == true)
{ return RedirectToAction("someAction", "someController"); }
//SOME OTHER CODE
return View();
}
或试试这个:
方法
public ActionResult CheckAdminPrivilege()
{
if (some if statement)
{
return RedirectToAction("someAction", "someController");
}
return null;
}
调用方法的 Controller
public ActionResult CreateAdmin()
{
CheckAdminPrivilege();
//SOME OTHER CODE
return View();
}
只是我认为的一条建议
CheckAdminPrivilege
为此目的,您正在检查用户是否具有管理员权限的方法,而不是仅创建自定义操作过滤器的方法,如果想了解有关自定义操作过滤器的更多信息,请参阅 here和 here
关于asp.net-mvc - 方法内的 RedirectToAction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25717972/