Asp.net 用户界面路由器&x27;s在stateChangeStar上只发射一次

Asp.net 用户界面路由器&x27;s在stateChangeStar上只发射一次,asp.net,angularjs,Asp.net,Angularjs,我设置了App.run方法,如下所示: $rootScope.AuthBag = { Authenticated: false, User: "", Roles:[] }; $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) { if (toState.authenticate && ($rootScope.AuthBag.

我设置了App.run方法,如下所示:

 $rootScope.AuthBag = { Authenticated: false, User: "", Roles:[] };
 $rootScope.$on('$stateChangeStart', function (event, toState, toParams, fromState, fromParams) {
        if (toState.authenticate && ($rootScope.AuthBag.Authenticated === false)) {
                $rootScope.returnToState = toState.url;
                $rootScope.returnToStateParams = toParams.Id;
                $location.path('/Site/LogOn');                      
            }           
    });
但这只能在第一次加载时工作一次。我国是:

$urlRouterProvider.otherwise("/Site/Movies");

.state('site.movies', {
    url: "/Movies",             
    templateUrl: "/Views/Site/movies.html",
    controller: 'moviesController',
    authenticate: true
  })

我不确定这是否会给未来带来麻烦,但:

window.location = "/Site/LogOn";
解决了我的问题