将ASP.NET MVC模型分配给AngularJS范围

Kri*_*s-I 6 javascript asp.net-mvc asp.net-mvc-4 angularjs

在我的视图代码下面(javascript代码在视图中,只是用于测试的temp).

我想将ASP.NET MVC模型(@Model)分配给AngularJS范围($scope.person)

我怎样才能做到这一点 ?

谢谢,

风景

@model MyApp.Person

<script>
var myApp = angular.module('myApp', []);

myApp.controller('personController', ['$scope', '$http', function ($scope, $http) {
    $scope.person = ?????
}]);
</script>
Run Code Online (Sandbox Code Playgroud)

更新1: 我在JS文件中尝试了这段代码:

var myApp = angular.module('myApp', []);

myApp.controller('personController', ['$scope', '$http', function ($scope, $http) {
    $scope.person = @Html.Raw(window.person);
}]);
Run Code Online (Sandbox Code Playgroud)

在视图文件中:

<script>
    @{
        var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
    }
    window.person = serializer.Serialize(Model);
</script>
Run Code Online (Sandbox Code Playgroud)

我得到2个错误:

ReferenceError: serializer is not defined (on windows)
window.person = serializer.Serialize(Model);

SyntaxError: illegal character (it's the @)
$scope.person = @Html.Raw(window.person);
Run Code Online (Sandbox Code Playgroud)

Jas*_* Li 3

<script>
    @{
        var serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
        var json = serializer.Serialize(Model);
    }
    var myApp = angular.module('myApp', []);

    myApp.controller('personController', ['$scope', '$http', function ($scope, $http) {
        $scope.person = @Html.Raw(json);
    }]);
</script>
Run Code Online (Sandbox Code Playgroud)