我有一个私有的void函数设置用于某些验证。如果我的验证失败,我想重定向到另一个ActionResult并终止正在使用的ActionResult的进程。 Response.Redirect(“controllerName”)没有帮助。有什么想法吗?
[Accept(HttpVerbs.Post)]
public ActionResult NerdDinner(string Name)
{
testName(Name);
...
Return RedirectToAction("ActionResultAAA");
}
private void testName(string name)
{
if(name == null)
{
//Response.Redirect("ActionResultBBB");
}
}
答案 0 :(得分:7)
您可以在任何地方使用Response.Redirect,但您需要提供正确的(相对或绝对)URL,而不仅仅是操作名称。但是,最好坚持使用MVC模式并执行以下操作:
[Accept(HttpVerbs.Post)]
public ActionResult NerdDinner(string Name)
{
ActionResult testResult = testName(Name)
if (testResult != null) return testResult;
...
return RedirectToAction("ActionResultAAA");
}
private ActionResult testName(string name)
{
if(name == null)
{
return RedirectToAction("ActionResultBBB");
}
return null;
}