ODataController Post方法" undefined"

时间:2016-02-01 06:40:09

标签: .net ajax asp.net-mvc asp.net-web-api odata

我有一个OData控制器,其Action为:

foo = {}
puts foo.
  # comment
  key?('bar')

这就是我通过ajax调用调用控制器的方式:

[HttpPost]
[ODataRoute("PostUpdate")]
public async Task<string> PostUpdate(HttpRequestMessage eventsToUpdate)
{

 //Do something
}

问题在于控件是在Action方法中还是在我放置时 var updateDataArray = []; for(i=0;i<5;i++) { //Build the data var updatedT = { "Id" : (Id)?Id:0, "Desc" : CalculatedDesc } updateDataArray.push(updatedT); } Url = "Api/Odata/PostUpdate" $.ajax({ url :Url, type:"POST", data:updateDataArray , dataType : 'json', success : function(result) { } }); 在即时窗口中我得到的输出为:eventsToUpdate.Content.ReadAsStringAsync().Result 这有什么问题?

1 个答案:

答案 0 :(得分:1)

问题在于eventsToUpdate方法的参数。在ajax中,要使用数据调用方法,必须使用数据类型匹配参数名称。首先,创建一个名为HttpRequestMessage的json对象,类型为$.ajax({ url :Url, type:"POST", data: eventsToUpdate, dataType : 'json', success : function(result) { } }); ,并调用如下:

Server