为了账号安全,请及时绑定邮箱和手机立即绑定

通过JSON将对象数组发布到ASP.Net MVC3

通过JSON将对象数组发布到ASP.Net MVC3

通过JSON将对象数组发布到ASP.Net MVC3我正在寻找一种通过JSON将对象数组发布到MVC3的解决方案。我正在处理的示例代码为:http : //weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspxJS:var data = { ItemList: [ {Str: 'hi', Enabled: true} ], X: 1, Y: 2 };$.ajax({    url: '/list/save',    data: JSON.stringify(data),    success: success,    error: error,    type: 'POST',    contentType: 'application/json, charset=utf-8',    dataType: 'json'});ListViewModel.cs:public class ListViewModel{    public List<ItemViewModel> ItemList { get; set; }    public float X { get; set; }    public float Y { get; set; }}ItemViewModel.cs:public class ItemViewModel{    public string Str;   // originally posted with: { get; set; }    public bool Enabled; // originally posted with: { get; set; }}ListController.cs:public ActionResult Save(ListViewModel list){    // Do something}POST的结果:将list设置为ListViewModel。设置其X和Y属性。设置基础的ItemList属性。ItemList包含一个项目,该项目应为未初始化。Str为null,Enabled为false。换句话说,这就是我从MVC3的模型绑定中得到的结果:list.X == 1list.Y == 2list.ItemList != nulllist.ItemList.Count == 1list.ItemList[0] != nulllist.ItemList[0].Str == nullMVC3 JsonValueProvider似乎不适用于复杂对象。我该如何工作?我是否需要修改现有的MVC3 JsonValueProvider并对其进行修复?如果是这样,我如何获得它并在MVC3项目中替换它?我已经没有用过的相关StackOverflow问题:Asp.net Mvc Ajax Json(后数组) 使用MVC2和较旧的基于表单的编码-这种方法对于包含对象数组的对象将失败(JQuery无法对其进行正确编码)。使用JSON发布一系列复杂对象,JQuery到ASP.NET MVC Controller。 我想避免在Controller收到一个纯字符串的地方,然后由它手动反序列化自身,而不是利用框架,这是我想避免的。MVC3 RC2 JSON发布绑定未正常工作 未设置他的内容类型-它在我的代码中设置。如何使用JSON,jQuery将复杂对象数组发布到ASP.NET MVC Controller? 这个可怜的家伙不得不写一个JsonFilter只是为了解析一个数组。我宁愿避免的另一种攻击。那么,我该如何实现呢?
查看完整描述

4 回答

?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

我有一个类似的问题,发现对于一个复杂的对象,数值会被遗漏。他们进来为零。即


    var person = {

        Name: "john",

        Age: 9

    }

由MVC控制器作为Person对象接收,其中属性填充为Name=John和Age=0。


然后,我将Javascript中的Age值设置为字符串...即


    var person = {

        Name: "john",

        Age: "9"

    }

这样就好了...


查看完整回答
反对 回复 2019-12-16
  • 4 回答
  • 0 关注
  • 658 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信