先你看看Http请求有没有值
明显是mvc模式,你应该把这个list封装到一个类里面 。或者像楼下所说,直接传一个list
data:list
@疯五五爱喝咖啡: 谢谢
谢谢
我刚刚写了关于你的问题的博客,现在还在博客园推荐排行
http://www.cnblogs.com/emrys5/p/asp-net-mvc-04-modelbinding.html
还有个问题就是你写data的时候不要用{list:list}
直接data:list就行了,如果你用但是mvc5的版本的话
我是MVC4 好像MVC5可以
@waitforjuan: 如果是mvc4你有2种解决方案,一个是设置contentType为json,还有一个就是拼接键值对的值。
1 前台传数组,后来接收的方式可以选择: 2 string myJson = string.Empty; 3 using (System.IO.StreamReader sr = new 4 System.IO.StreamReader(Request.InputStream)) 5 { 6 myJson = sr.ReadToEnd(); 7 } 8 myJson反序列化为 List<Student>
序列化这个我会 ,但是我就搞不懂 为什么没有给我映射好
谢谢
@waitforjuan: 你去问微软为什么不行
把得到的数组反序列一下
谢谢
前台可以直接传json字符串卅,后台反序列化一下就行了
谢谢
不如在ajax里加上 traditional: true, 这个神奇的属性一试?
加了后
没加前:
加了traditional:true这个属性后 后台的list参数 Count=0了 之前没加还是等于3 但是没有值
把data改成 {list: JSON.stringify(list)} 在后台反序列化就好了
和你一样的传值,就加了个 dataType: "json", 上面的方法我都试过了,各种报错