Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.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# 将JSON列表绑定到视图模型_C#_Asp.net Mvc_Json - Fatal编程技术网

C# 将JSON列表绑定到视图模型

C# 将JSON列表绑定到视图模型,c#,asp.net-mvc,json,C#,Asp.net Mvc,Json,ASP MVC-C-.NET 4.5-Razor 以下是我的视图模型: public class PackageModel { public List<Package> Packages { get; set; } } 在页面上,我列出了控件文本框、日期选择器等。类包中的每个元素都有一个控件列表。在这些控件下面,我有一个按钮,它将获取这些控件中填充的数据,并将它们添加到下表中。在幕后,它们实际上被添加到JSON数组中。我的问题是,当我提交此表单时,如何将对象的JSON数组

ASP MVC-C-.NET 4.5-Razor

以下是我的视图模型:

public class PackageModel
{
    public List<Package> Packages { get; set; } 
}
在页面上,我列出了控件文本框、日期选择器等。类包中的每个元素都有一个控件列表。在这些控件下面,我有一个按钮,它将获取这些控件中填充的数据,并将它们添加到下表中。在幕后,它们实际上被添加到JSON数组中。我的问题是,当我提交此表单时,如何将对象的JSON数组绑定到模型PackageModel,使其在控制器中可用

谢谢你的帮助

更新

这是模型控制器

[HttpPost]
public ActionResult SubmitPackage(IList<Package> Packages)
{
}
更新2

事实证明,我只是缺少jQueryAjax调用中定义的内容类型。需要这一行:

contentType: 'application/json; charset=utf-8'

可能是这样。如果没有,则将PackageModel序列化为JSON,并修改生成的JSON以匹配,以便将其反序列化为PackageModel。e、 g.您可能需要将数组标记为包,并将其放在自己的对象中,而不是将其放在自己的对象中。如果我理解正确,您在JavaScript中有对象的JSON数组,只想将其作为PackageModel发布到控制器?可能是重复的@这是正确的。但是,当我将JSON发回控制器时,它会说列表中有0条记录。@是的,非常相似。我已经修改了我的代码以匹配您发布的链接中的示例,但是我在控制器中得到的模型为null。
[{"Name":"Test","Description":"TestDesc","Qty":"1","Received":"12/12/2013"}] 
contentType: 'application/json; charset=utf-8'