RedirectToAction(“Index”,“Home”)与return Redirect(“〜/ home”)相同

时间:2013-10-12 20:23:45

标签: asp.net-mvc

在我的控制器中,我想重定向。我有两个选择:

if(User.Identity.IsAuthenticated)
{
    return RedirectToAction("Index", "Home");
}

if(User.Identity.IsAuthenticated)
{
    return Redirect("~/home");
}

在我的路线中,我有:

     routes.MapRoute(
        "spa",
        "{section}/{id}",
        new { controller = "Home", action = "Index", id = UrlParameter.Optional },
        new { section = @"home|questions|admin" });

有人可以告诉我,如果我选择一个重定向而不是另一个重定向。

1 个答案:

答案 0 :(得分:1)

最好使用RedirectToAction,因为至少你可以指定你所指的控制器和路由等..可能会改变,就像你做重定向一样,你很可能会输入一个无效的路径(即比使用RedirectToAction更容易出错,因为它为你带来魔力)

请记住,ASP.NET MVC是建立在ASP.NET之上的,所以尽可能多地利用MVC的优点。从长远来看,这会让你头疼!