首页 新闻 会员 周边 捐助

c#后台接收js数组

0
[待解决问题]

1.前台传递一个json数组  数组元素是对象   数组对象在后台有相应的实体类

2.所以我想通过类 在方法的参数里得到json数组对象

问题:   得到了相应的json数组  但是数组却没有值!

代码如下:

 

感激不尽!

又是没有bug的一天的主页 又是没有bug的一天 | 初学一级 | 园豆:149
提问于:2017-06-06 10:00
< >
分享
所有回答(8)
0

先你看看Http请求有没有值

十一一十三 | 园豆:247 (菜鸟二级) | 2017-06-06 10:19

明显是mvc模式,你应该把这个list封装到一个类里面 。或者像楼下所说,直接传一个list  

data:list 

支持(0) 反对(0) 十一一十三 | 园豆:247 (菜鸟二级) | 2017-06-06 15:17

@疯五五爱喝咖啡: 谢谢

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 11:10

 谢谢

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 11:10
0

我刚刚写了关于你的问题的博客,现在还在博客园推荐排行

 

http://www.cnblogs.com/emrys5/p/asp-net-mvc-04-modelbinding.html

还有个问题就是你写data的时候不要用{list:list}

直接data:list就行了,如果你用但是mvc5的版本的话

Emrys5 | 园豆:223 (菜鸟二级) | 2017-06-06 10:37

我是MVC4  好像MVC5可以

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 10:56

@waitforjuan: 如果是mvc4你有2种解决方案,一个是设置contentType为json,还有一个就是拼接键值对的值。

支持(0) 反对(0) Emrys5 | 园豆:223 (菜鸟二级) | 2017-06-07 11:00
0
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>
~扎克伯格 | 园豆:1923 (小虾三级) | 2017-06-06 10:38

序列化这个我会 ,但是我就搞不懂 为什么没有给我映射好

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 10:56

谢谢

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 11:09

@waitforjuan: 你去问微软为什么不行

支持(0) 反对(0) ~扎克伯格 | 园豆:1923 (小虾三级) | 2017-06-07 12:34
0

把得到的数组反序列一下  

顾星河 | 园豆:7281 (大侠五级) | 2017-06-06 11:52

 谢谢

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 11:09
0

前台可以直接传json字符串卅,后台反序列化一下就行了

Clue_Yang | 园豆:202 (菜鸟二级) | 2017-06-06 13:22

谢谢

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 11:10
0

不如在ajax里加上  traditional: true, 这个神奇的属性一试?

大楚打码人 | 园豆:4313 (老鸟四级) | 2017-06-06 17:55

加了后
没加前:
加了traditional:true这个属性后 后台的list参数 Count=0了 之前没加还是等于3 但是没有值

支持(0) 反对(0) 又是没有bug的一天 | 园豆:149 (初学一级) | 2017-06-07 11:08
0

把data改成   {list: JSON.stringify(list)}  在后台反序列化就好了

灵行寻燕 | 园豆:226 (菜鸟二级) | 2017-06-13 17:01
0

和你一样的传值,就加了个  dataType: "json", 上面的方法我都试过了,各种报错

金雷 | 园豆:202 (菜鸟二级) | 2018-05-16 11:42
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册