我试图将数据从angularjs传递到asp.net mvc,但总是得到空值。
这是我的代码(只张贴基本的,按钮,控制器和C:
HTML格式:

<a class="btn btn-grey btn-lg btn-block" ng-click="AddCar()">Save</a>

控制器
$scope.AddCar = function () {
            $http.post("Cars/AddCar", JSON.stringify($scope.new.JsonCar)).success(function (data) {
                Alert(ok)
            })

C类#
public string AddCar(string JsonCar)
        {
            try
           ....
        }

在json.stringify($scope.new.jsoncar)中,我得到:
“{”名称“:”菲亚特500“,”说明“:”新建
car,“maxusercapacity”:5,“photopath”:“none”}
我做错什么了?

最佳答案

直接将对象作为对象传递,而不是串接它。因为它现在被传递,它是一个字符串,而不是一个可以正确反序列化的对象。

$http.post("Cars/AddCar", $scope.new.JsonCar).success(function (data) {
            Alert(ok)
        })

创建与有效载荷匹配的car对象。序列化程序将为您处理json对象。
public Car AddCar(Car car)
    {
        try
       ....
    }

我的假设是,在某个时刻,不管怎样,您都在将字符串反序列化为一个对象。这就省去了你额外的一步。

08-19 16:35