我有一个用于某些验证的私有(private) 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");
}
}
最佳答案
您可以在任何您喜欢的地方使用 Response.Redirect,但您需要提供一个正确的(相对的或绝对的)URL,而不仅仅是一个 Action 名称。但是,最好坚持 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;
}
关于c# - Response.Redirect 可以在 private void MVC 2 函数中工作吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2826887/