zoukankan      html  css  js  c++  java
  • MVC5中使用jQuery Post 二维数组和一维数组到Action

    很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目。之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来。MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看。遇到的第一个问题是一个列表页保存排序时传二维数组的问题。以下是我的代码:

    jQuery("#btnSave").click(function () {
        var list = [];
        jQuery("#lists>tbody>tr").each(function (i) {
            list.push({ "id": this.cells[0].children.hidId.value, "sort": this.cells[6].children[0].children[0].children.txtSortId.value });
        });
     
        jQuery.ajax({
            type: "post",
            url: "@Url.Action("NavSaveSortId", "Setting")",
            data: jQuery.param({ sortinfo: list }),
            dataType: "json",
            traditional: true,
            success: function (data) {
                var json = eval("(" + data + ")");//必须加否则字符串不能序列化成json
                jQuery.gritter.add(json);
            },
            error: function (data) {
                console.debug(data);
            }
        });
    });

    以上传过去的数据格式是一个数组类型,里面包括了id,sort属性。
    后台action接收代码为:

    [HttpPost]
    02
    public JsonResult NavSaveSortId(Dictionary<string, string>[] sortinfo)
    03
    {
    04
    for (int i = 0; i < sortinfo.Length; i++)
    05
                    {
    06
                        int id = Convert.ToInt32(sortinfo[i]["id"].ToString());
    07
                        int sortId;
    08
                        if (!int.TryParse(sortinfo[i]["sort"].ToString().Trim(), out sortId))
    09
                        {
    10
                            sortId = 99;
    11
                        }
    12
                        client.UpdateField(id, "sort_id=" + sortId.ToString());
    13
                    }
    14
    }

    以上就是传输数组后台用Dictionary接收参数的实例。当然在实际使用时请记得加上安全验证以及数据校验。
    然后在项目里面还用到了一个传输一维数组的功能这里也记录出来,代码和上面的类似,但是这个功能是用在批量删除的。

    jQuery("#btnDelete").click(function () {
    02
                    bootbox.confirm("确认要删除选中的记录吗?", function (result) {
    03
                        if (result) {
    04
                            var idarry = [];
    05
                            jQuery("#lists>tbody>tr").each(function (i) {
    06
                                console.debug(this.cells[0].children[2].children[0].checked);
    07
                                if (this.cells[0].children[2].children[0].checked) {
    08
                                    idarry.push(this.cells[0].children.hidId.value);
    09
                                }
    10
                            });
    11
                            jQuery.ajax({
    12
                                type: "post",
    13
                                url: "@Url.Action("NavDel", "Setting")",
    14
                                data: { ids: idarry },
    15
                                dataType: "json",
    16
                                traditional: true,
    17
                                success: function (data) {
    18
                                    var json = eval("(" + data + ")");//必须加否则字符串不能序列化成json
    19
                                    jQuery.gritter.add(json);
    20
                                },
    21
                                error: function (data) {
    22
                                    console.debug(data);
    23
                                }
    24
                            });
    25
                        }
    26
                    });
    27
                });

    这个数组应该比上面那种更常见后台接收就不需要用Dictionary。直接用数组string[]接收就可以了:

    [HttpPost]
    2
            public JsonResult NavDel(string[] ids)
    3
            {
    4
    //逻辑处理····
    5
    }

    其实在开发中还遇到了很多问题,可能是我第一次接触mvc。不过真的用了mvc之后确实不太愿意用webform了。欢迎各位感兴趣的同学们一起来交流学习

    转载请注明:放肆雷特 » MVC5中使用jQuery Post 二维数组和一维数组到Action

  • 相关阅读:
    xheditor富文本编辑器支持从word复制粘贴保留格式和图片的插件
    kindeditor富文本编辑器支持从word复制粘贴保留格式和图片的插件
    fckeditor富文本编辑器支持从word复制粘贴保留格式和图片的插件
    PAT 甲级 1078 Hashing (25 分)(简单,平方二次探测)
    PAT 甲级 1077 Kuchiguse (20 分)(简单,找最大相同后缀)
    Node.js+Express框架+Mongo学习(一)第一个node.js实例
    python web开发——django学习(二)orm介绍与model检查
    python web开发——django学习(二)第一个django网站运行成功
    排序算法分析
    "飞机大战"游戏_Java
  • 原文地址:https://www.cnblogs.com/bubugao/p/adfas.html
Copyright © 2011-2022 走看看