首页新闻找找看学习计划

前台js二维数组后台C#如何接收?

0
[已解决问题] 解决于 2017-05-26 15:43

到底如何接收js的二维数据啊,我尝试着两种都没有用

JS:

$.ajax({
     data:{ Lists:lists},
}); 
后台接收:
复制代码
public ActionResult Index(string[][] Lists)
{
    //这种第一个[]可以获取到长度,第二个括号就获取不到值,如:string[1][]
}
和
public ActionResult Index(string[,] lists)
{
    //这种就直接报错了
}
复制代码
你猜丶的主页 你猜丶 | 菜鸟二级 | 园豆:298
提问于:2017-05-25 15:41
< >
分享
最佳答案
0

你好,看你的答复感觉要跟你说的东西太多了,你有空加下QQ:2375287790,方便交流,这种问题很常见,只要把涉及到前后端知识分解下,我相信你会明白的。

奖励园豆:5
~扎克伯格 | 小虾三级 |园豆:1799 | 2017-05-26 09:33

好的,谢谢,已加

你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-26 09:36

前台:

 function Save()
    {
        var id="@ViewBag.ID";
        var lists = [];
        $("#Model").children("div").each(function (i) {
            lists[i][]=[];
            lists[i][0] = $("#One").val();
            lists[i][1] = $("#Two").val();
            lists[i][2] = $("#Thtee").val();
            lists[i][3] = $("#Four").val();
        });
        var jsonInsert = JSON.stringify(lists);
        $.ajax({
            type: "post",
            url: "/Home/Index",
            data: {ID:id,Insertlists: jsonInsert
                //Updatelists: jsonUpdate
            },
            async: true,
            success: function (data) {
                if (data)
                    alert("保存成功!");
                else
                    alert("保存失败,请联系管理员!");
            }
        });
    }

后台:

public bool Index()
{

}

 

你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-26 10:19

@你猜丶: 

 1  $.ajax({
 2             type: "post",
 3             url: "/Home/Index",
 4             data: JSON.stringfy({ID:id,Insertlists: lists})
 5                 //Updatelists: jsonUpdate
 6           ,
 7             async: true,
 8             success: function (data) {
 9                 if (data)
10                     alert("保存成功!");
11                 else
12                     alert("保存失败,请联系管理员!");
13             }
14         });

键值对->json

~扎克伯格 | 园豆:1799 (小虾三级) | 2017-05-26 10:24

@~扎克伯格: 不能这样耶,他说对象不支持“stringfy”属性或方法

你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-26 10:30

@你猜丶: Demo:

前端:

 1  function save() {
 2         var id = 1;
 3         var list = [["2017-05-12", "1"], ["2017-04-12", "2"]];
 4         $.ajax({
 5             type: "post",
 6             url: "/Home/Test",
 7             data:JSON.stringify({
 8                 ID: id, List: list
 9                 //Updatelists: jsonUpdate
10             }),
11             async: true,
12             success: function (data) {
13                 if (data)
14                     alert("保存成功!");
15                 else
16                     alert("保存失败,请联系管理员!");
17             }
18         });
19     }

后台:

 1         [HttpPost]          
 2         public ActionResult Test()
 3         {
 4             string myjson = string.Empty;
 5             using (StreamReader sr = new StreamReader(Request.InputStream))
 6             {
 7                 myjson = sr.ReadToEnd();
 8             }
 9             System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
10             test test = serializer.Deserialize<test>(myjson);
11 
12 
13             ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
14 
15             return View();
16         }
17          public class test
18          {
19              public int id { get; set; }
20 
21              public string[][] list { get; set; }
22          }

你参照着改吧!已测试过,可以成功获取数据

~扎克伯格 | 园豆:1799 (小虾三级) | 2017-05-26 10:49
其他回答(4)
0

为何不将js的二维数组转化成JSON数据,后台直接用String接收,在做处理呢?

MrZhan | 园豆:167 (初学一级) | 2017-05-25 15:48

怎么做怎么做,新手完全不太会

支持(0) 反对(0) 你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-25 16:03

@你猜丶: 这种的问度娘好了,有了思路很好实现的

支持(0) 反对(0) MrZhan | 园豆:167 (初学一级) | 2017-05-25 16:12
0

转换为json对象,json.parse()

魏耀峰 | 园豆:222 (菜鸟二级) | 2017-05-25 15:58

请问怎么做,新手完全不太会

 

支持(0) 反对(0) 你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-25 16:04
$.ajax({
     data: json.parse(lists)+{ ID:id},

}); 

这样吗?可是我原本就有好多这种ID:id数据要传咋办啊

支持(0) 反对(0) 你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-25 16:12

@你猜丶:把你这个整体的想像成一个大的JavaBean,里面有一个List<JavaBean2>集合属性会不会好弄点

支持(0) 反对(0) MrZhan | 园豆:167 (初学一级) | 2017-05-25 16:16

@MrZhan: 大哥,我Json都不懂JavaBean又是什么,我感觉我真的是心累

支持(0) 反对(0) 你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-25 16:55

@你猜丶: 额,就实体类

支持(0) 反对(0) MrZhan | 园豆:167 (初学一级) | 2017-05-25 17:07

@MrZhan: 人家说的是asp.net MVC, 怎么把JavaBean扯出来了。。

支持(0) 反对(0) ~扎克伯格 | 园豆:1799 (小虾三级) | 2017-05-26 09:27
0

你前面的数据都是传到后台都是json字符串格式的,反编译

渔夫三拳 | 园豆:184 (初学一级) | 2017-05-25 17:26

不会,不会传,也不会接收,更不会编译,我已经放弃治疗了

支持(0) 反对(0) 你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-25 17:26

@你猜丶: 我用php的时候传到后台的json字符串可以用php的array()的一种函数编译回数组,你可以找一下java中有没有这种函数,能够将字符串编译成数组。

支持(0) 反对(0) 渔夫三拳 | 园豆:184 (初学一级) | 2017-05-25 17:30

@陈昱夫: 囧,我是C#的,资料好少

支持(0) 反对(0) 你猜丶 | 园豆:298 (菜鸟二级) | 2017-05-25 17:31

@陈昱夫: 人家很明显是C#, 不要误导。。

支持(0) 反对(0) ~扎克伯格 | 园豆:1799 (小虾三级) | 2017-05-26 09:28
0

你先传成普通字符串吧,然后用一个参数接收吧,最后后台处理你哪个字符串吧。然后你要学一下json数据格式和后台的对象相关知识...

全力以赴001 | 园豆:616 (小虾三级) | 2017-05-25 17:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册