从MVC中的angularjs控制器重定向到cshtml页面

时间:2014-09-28 11:08:52

标签: asp.net-mvc angularjs

// AngularJs控制器方法

  $scope.onLogOutClick = function () // called when i clicked on logout button
         {  

                       //i want here to redirect to login.cshtml file.
                   $http({ method: 'GET', url: "/Home/Login"}); 
                      // this line of code is not working.

         }

// controller方法返回logic.cshtml视图。

[HttpGet]
    public ActionResult Login(string theme, string feature)
    {
         return View("login");  // i want to render this view in angularJs
    }

当我点击注销按钮时,调用onLogOutClick()方法。当我点击退出按钮时,我想重定向login.cshtml页面。

2 个答案:

答案 0 :(得分:0)

使用AndularJs,我们可以开发单页面应用程序(SPA)。在SPA中只有一个CSHTML文件(主页),我们使用ng-view和$ roughtConfig指令更改视图(render html)。所以切换cshtml页面没有任何理由。

答案 1 :(得分:0)

1)添加Blank Logout.cshtml页面。 2)为Logout页面添加路由

.when('/Logout', { templateUrl: '/Login/LogoutUser', controller: 'LogoutController' })

3)添加以下控制器以将用户重定向到登录页面

angular.module('Application').controller("LogoutController", ['$scope', '$http', '$timeout', function LogoutController($scope, $http, $timeout) {
    var requestLogout = $http({
        method: "POST",
        url: "/api/LoginUser/LogoutUser"
    });
    requestLogout.success((function myNewfunction() {
        window.location.href = "/Login?session=false";
    }));
}]);