从 Angular 服务重定向到 MVC 控制器
Redirect to MVC Controller from Angular service
我有一个 MVC 应用程序,我在其中使用 MVC 控制器来处理登录和注销。当我尝试注销时,我在我的 MVC 帐户控制器上调用注销操作,该控制器重定向到该控制器上的登录操作。我调用此代码没有问题,登录操作显示 运行 成功。但是,此操作的最后一行是
return View();
我可以看到我的屏幕像在绘制新页面一样闪烁。但是,我仍然可以看到 http://localhost:60847/#/home in my browser instead of http://localhost:60847/Account/Login。
是否需要向路由添加一些内容以使其能够处理 MVC 地址?目前,我的路线如下:
$routeProvider.when("/home", {
//controller: "homeController",
templateUrl: "app/layout/home.html"
});
$routeProvider.otherwise({ redirectTo: "/home" });
提前致谢!
我在几个地方查找并得出结论,解决此问题的一个选项是仅从超链接调用此操作并包含 target="_self"。我仍然可以在超链接上添加 ng-click 属性并在我的 angular 控制器中调用代码。这不是我想要做的,因为我想从我的 angular 控制器而不是超链接进行调用,但它会起作用。
我使用的代码如下:
using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" }))
{
@Html.AntiForgeryToken()
<ul data-ng-controller="accountController as acctCtrl">
<li><a data-ng-click="acctCtrl.logout()" href="javascript:document.getElementById('logoutForm').submit()" target="_self">Log off</a></li>
</ul>
}
我有一个 MVC 应用程序,我在其中使用 MVC 控制器来处理登录和注销。当我尝试注销时,我在我的 MVC 帐户控制器上调用注销操作,该控制器重定向到该控制器上的登录操作。我调用此代码没有问题,登录操作显示 运行 成功。但是,此操作的最后一行是
return View();
我可以看到我的屏幕像在绘制新页面一样闪烁。但是,我仍然可以看到 http://localhost:60847/#/home in my browser instead of http://localhost:60847/Account/Login。
是否需要向路由添加一些内容以使其能够处理 MVC 地址?目前,我的路线如下:
$routeProvider.when("/home", {
//controller: "homeController",
templateUrl: "app/layout/home.html"
});
$routeProvider.otherwise({ redirectTo: "/home" });
提前致谢!
我在几个地方查找并得出结论,解决此问题的一个选项是仅从超链接调用此操作并包含 target="_self"。我仍然可以在超链接上添加 ng-click 属性并在我的 angular 控制器中调用代码。这不是我想要做的,因为我想从我的 angular 控制器而不是超链接进行调用,但它会起作用。
我使用的代码如下:
using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" }))
{
@Html.AntiForgeryToken()
<ul data-ng-controller="accountController as acctCtrl">
<li><a data-ng-click="acctCtrl.logout()" href="javascript:document.getElementById('logoutForm').submit()" target="_self">Log off</a></li>
</ul>
}