开发者

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;
}
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜