Angularjs 在剃须刀中获得匿名身份

Angularjs 在剃须刀中获得匿名身份,angularjs,asp.net-mvc,razor,Angularjs,Asp.net Mvc,Razor,我想获取Razor中用户的HttpContext.Current.Request.AnonymousID,然后通过以下方式将其发送到控制器中的操作: <script> app.controller('loginController', function ($http, $scope, $location, $rootScope) { $scope.login = function () { //Send Anonymous to UserLogin act

我想获取
Razor
中用户的
HttpContext.Current.Request.AnonymousID
,然后通过以下方式将其发送到控制器中的操作:

<script>
 app.controller('loginController', function ($http, $scope, $location, $rootScope) {
    $scope.login = function () {

        //Send Anonymous to UserLogin action
        $http.post("/Accounts/UserLogin?anonymous="+AnonymousId, $scope.model).success(function (response) {
            $scope.message = response;

            window.location = '/';
            $rootScope.ShowSpinner = false;
        });
    }
});
</script>

app.controller('loginController',函数($http、$scope、$location、$rootScope){
$scope.login=函数(){
//发送匿名到用户登录操作
$http.post(“/Accounts/UserLogin?anonymous=“+AnonymousId,$scope.model”).success(函数(响应){
$scope.message=响应;
window.location='/';
$rootScope.ShowSpinner=false;
});
}
});

有什么方法可以做到这一点吗?

在razor中,您可以使用类似

@{
    // Just to make my expression smaller
    var anonymousId = HttpContext.Current.Request.AnonymousID;
}
<script>
    angular.module("someModule").value("anonymousId", "@anonymousId" );
</script>
当然,您也可以直接在控制器中写入它

....
    $http.post("/Accounts/UserLogin?anonymous=" 
              + "@(HttpContext.Current.Request.AnonymousID)", $scope.model).
....

看来,
AnonymousID
是一个会话参数,那么为什么需要显式地将其发送回服务器呢?服务器已经知道了吗?
....
    $http.post("/Accounts/UserLogin?anonymous=" 
              + "@(HttpContext.Current.Request.AnonymousID)", $scope.model).
....