Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 难以将mvc模型绑定到JSON post_C#_Json_Asp.net Mvc 4 - Fatal编程技术网

C# 难以将mvc模型绑定到JSON post

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变量,但

我有以下JSON请求主体(从ie10管理面板网络捕获复制)

我的控制器如下(x变量将断开):

我的ViewModel如下所示:

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
     }