我正在MVC4
工作,我需要将某个用户下的用户重定向到LogOut
。我在.js
文件中使用重定向。但是当我尝试重定向时,routing
是不合适的。它会添加到现有controller
并抛出错误。
//代码
// .cshtml:
<script type="text/javascript">
var logoutUrl = '@Url.Action("LogOut", "Account")';
</script>
//控制器:
[AllowAnonymous]
public ActionResult LogOut()
{
FormsAuthentication.SignOut();
return RedirectToAction("Login", "Account", null);
}
// JS:
window.location.href = logoutUrl;
当我尝试重定向时,用户将在页面
/Home/Index
但是,重定向后会转到
/Home/Account/LogOut
而不是/Account/LogOut
我的routeConfig,
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Account", action = "Login", id = UrlParameter.Optional }
);
}
这引起了我的错误。但我需要从网址中删除Home
并重定向到Account/LogOut
。
我怎样才能实现这个目标?
答案 0 :(得分:0)
请确保您获取正确的网址或用于测试目的,只需使用硬编码的网址即可 并尝试一次
var logoutUrl = '/Account/LogOut';
PS:如果可以的话,我会评论