Can Response.Redirect work in a private void MVC 2 Function?
I have a private void function set for some validation. Should my validation fail, I would like to redirect to another ActionResult and kill the process for the ActionResult that was being used. Response.Redirect("controllerName") does not help. Any ide开发者_如何学Cas?
[Accept(HttpVerbs.Post)]
public ActionResult NerdDinner(string Name)
{
testName(Name);
...
Return RedirectToAction("ActionResultAAA");
}
private void testName(string name)
{
if(name == null)
{
//Response.Redirect("ActionResultBBB");
}
}
You can use Response.Redirect wherever you like but you need to provide a proper (relative or abolute) URL, not just an action name. However, it would be preferable to stick to the MVC pattern and do something like this:
[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;
}
精彩评论