我想要做的就是将我的JSON列表发送回C#服务器端的POST方法(EditCompanyReportField)。显然,我方法上的相关参数(fieldSorted)有数组对象,但值不我有几个问号
KeyValuePair是struct,而不是原始类型,因为这个?
我是否必须序列化JSON对象?
我不想为它创建一个模型类
背面方法
public void EditCompanyReportField(IEnumerable<KeyValuePair<int, int>> fieldSorted)
客户端JS
var fieldSorted= [];
for (var i = 0; i < $scope.reportfield.length; i++) {
fieldSorted.push({ Key: $scope.reportmapfield[i].MappedFieldId,
Value: $scope.reportmapfield[i].IndexNo = i + 1 });
};
$http({
method: 'post', url: '/mapped/editcompanyreportfield',
data: { fieldSorted: fieldSorted }
}).success(function () {
$state.go("list-report");
toastr.success(infoMessage.success);
});
背面的fieldSorted参数出来了
[0] {[0,0]}
[1] {[0,0]}
[2] {[0,0]}
提前感谢...
答案 0 :(得分:0)
你的JS代码对我来说很好。
默认情况下,MVC期望数据作为序列化表单参数传递,而不是您正在执行的操作。您是否已将AJAX请求的内容类型设置为&#34; application / json&#34;?
答案 1 :(得分:0)
我遇到了同样的问题,因为我试图序列化回List&lt; KeyValuePair&LT; int,bool&gt;&gt;它解决了
message.user
我使用的解决方法是切换到Dictionary&lt; int,bool&gt;。没有改变我在javascript中发布的数据,它开始工作。