C# 难以将mvc模型绑定到JSON post
我有以下JSON请求主体(从ie10管理面板网络捕获复制) 我的控制器如下(x变量将断开): 我的ViewModel如下所示:C# 难以将mvc模型绑定到JSON post,c#,json,asp.net-mvc-4,C#,Json,Asp.net Mvc 4,我有以下JSON请求主体(从ie10管理面板网络捕获复制) 我的控制器如下(x变量将断开): 我的ViewModel如下所示: public class PersonUpdateViewModel { public string FirstName { get; set; } public string LastName { get; set; } public string Email { get; set; } } 到达EditPerson操作时,我断开了x变量,但
public class PersonUpdateViewModel
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
}
到达EditPerson操作时,我断开了x变量,但person变量中的所有属性都为null,有人知道我可能做错了什么吗?在这一点上,我甚至可以接受原始JSON字符串并从那里进行解析,但我无法将任何参数输入到action方法中
我通过请求发布的javascript函数:
var submitEdit2 = function () {
var editables = $('.editable')
var person = new Object();
for (var i = 0; i < editables.length; i++) {
var editable = editables[i];
person[editable.name] = editable.value;
}
var jform = JSON.stringify(person);
$.post('/Person/EditPerson', jform, null, 'json');
}
var submitEdit2=函数(){
var editables=$(“.editables”)
var person=新对象();
对于(var i=0;i
尝试使用AJAX帖子并指定
contentType改为“application/json”;字符集=utf-8'
$.ajax( {
type: "POST",
url: /Person/EditPerson',
contentType: 'application/json; charset=utf-8',
data: jform
}
如果这不能解决问题,请发布标题信息。我猜使用$post发送的是.NETMVC不喜欢的“application/x-www-form-urlencoded”数据
您能显示您发布参数“person”的代码吗?您是指javascript吗?您是否尝试过使用
Html.BeginFormAjax()
之类的工具?它生成了什么js?我不知道如何使用Html.begformajax(),我不希望被锁定到表单中。最后,我将使用foreach循环生成数量可变的输入,并需要将这些输入的结果打包到一个数组中。person对象是否具有与PersonUpdate模型类相同的属性?
var submitEdit2 = function () {
var editables = $('.editable')
var person = new Object();
for (var i = 0; i < editables.length; i++) {
var editable = editables[i];
person[editable.name] = editable.value;
}
var jform = JSON.stringify(person);
$.post('/Person/EditPerson', jform, null, 'json');
}
$.ajax( {
type: "POST",
url: /Person/EditPerson',
contentType: 'application/json; charset=utf-8',
data: jform
}