我想重定向到action中的另一个动作if if method。 我用了
return RedirectToAction("ActionName","ControllerName");
但我收到了错误。错误意味着它没有击中另一个动作。
我的控制器代码
public ActionResult VisitCount(VisitorsViewModel objvvm)
{
var UserID = System.Web.HttpContext.Current.Session["UserID"].ToString();
var objEmpDepUTID = db.UserRightsSettings.Where(u => u.UserID.ToString() == UserID).Select(e => new
{
objemployeeID = e.EmployeeID,
objdepartmentID = e.DepartmentID,
objusertypeID = e.UserTypeID
}).FirstOrDefault();
var EmployeeID = objEmpDepUTID.objemployeeID;
var DepartmentID = objEmpDepUTID.objdepartmentID;
var UserTypeID = objEmpDepUTID.objusertypeID;
if (DepartmentID == new Guid("47D2C992-1CB6-44AA-91CA-6AA3C338447E") &&
(UserTypeID == new Guid("106D02CC-7DC2-42BF-AC6F-D683ADDC1824") ||
(UserTypeID == new Guid("B3728982-0016-4562-BF73-E9B8B99BD501"))))
{
return RedirectToAction("Index1", "NextFollowUp");
}
else
{
return RedirectToAction("Index2","NextFollowUp");
}
}
private ActionResult Index1()
{
return View();
}
private ActionResult Index2()
{
return View();
}
上述代码无法正常运行。如果条件满足,它没有击中另一个动作。我尝试了所有方法,但我没有得到任何解决方案。
答案 0 :(得分:2)
如果你在一个控制器里面试试这个
return RedirectToAction("Index1");
而不是
return RedirectToAction("Index1", "NextFollowUp");
这使用if来自其他控制器的动作
RedirectToAction("Index1", "NextFollowUp");
或尝试此代码:
return View("ActionName");
像这样:
if (DepartmentID == new Guid("47D2C992-1CB6-44AA-91CA-6AA3C338447E") &&
(UserTypeID == new Guid("106D02CC-7DC2-42BF-AC6F-D683ADDC1824") ||
(UserTypeID == new Guid("B3728982-0016-4562-BF73-E9B8B99BD501"))))
{
return View("Index1");
}
else
{
return View("Index2");
}
答案 1 :(得分:2)
您无法重定向到标记为private
的方法。您需要制作方法public
。
public ActionResult Index1()
{
return View();
}
public ActionResult Index2()
{
return View();
}