public ActionResult Logout()
{
FormsAuthentication.SignOut();
return RedirectToRoute("Home");
}
我希望这个操作能将用户重定向到主页,但实际上,出现了一个重定向循环(根据Chrome的显示)。
上述操作属于“admin”区域中的控制器,而“Home”路由是为默认区域定义的 - 我认为这很相关。
以下是路由信息:
routes.MapRoute(
"Home",
"{controller}/{action}/{slug}",
new { controller = "Posts", action = "Index", slug = UrlParameter.Optional },
new[] { "GoBlog.Controllers" }
);
更新
将return
语句替换为以下内容,将使操作按预期工作:
return RedirectToRoute("Home", (RouteTable.Routes["Home"] as Route).Defaults);
我想知道为什么会出现这种情况。理想情况下,我可以省略(繁琐的)第二个参数。
RoutesConfig.cs
中展示你配置的路由。 - haim770