ASP.NET ODataController未接收属性值

时间:2016-04-07 19:33:09

标签: asp.net angularjs odata

我正在开发一个使用AngularJS前端和基于oData的ASP.NET后端的应用程序。我在发布工作请求时遇到了一些困难。我的控制器中的post方法基本上都是这样的:

 Function Post(ByVal eDI_CUSTOMER As EDI_CUSTOMER) As IHttpActionResult
        If Not ModelState.IsValid Then
            Return BadRequest(ModelState)
        End If

        db.EDI_CUSTOMER.Add(eDI_CUSTOMER)

        Try
            db.SaveChanges()
        Catch ex As DbUpdateException
            If (EDI_CUSTOMERExists(eDI_CUSTOMER.ID)) Then
                Return Conflict()
            Else
                Throw
            End If
        End Try

        Return Created(eDI_CUSTOMER)
    End Function

当我尝试发布帖子请求时,我可以在Chrome调试器中看到数据按预期传递。如果我使用内容类型" application / json" .NET控制器没有收到任何信息。如果我使用内容类型" application / x-www-form-urlencoded"收到具有预期属性的对象,但所有属性值都为空。

有谁知道我错过了什么?

我正在使用oData 4.

1 个答案:

答案 0 :(得分:0)

添加代码以将JQuery(如序列化)用于我的运行块,如下所示:

.run(function($http, $httpParamSerializerJQLike) {
        $http.defaults.transformRequest.unshift($httpParamSerializerJQLike);
})

为我解决了这个问题。