首页 新闻 搜索 专区 学院

C# MVC架构 关于树节点删除的问题

0
悬赏园豆:140 [已解决问题] 解决于 2016-03-29 13:54

这是关于选择树节点的一个就只能删除一个节点,当删除的是父节点的时候,子节点不会跟着删除,怎么改才能当选择的是父节点的时候一起删除她的子节点,选择的是子节点的时候就只是删除子节点

  //删除
    function Delete(id) {
        var falg = 0
        var lst = $(".chkbox:checkbox")
        lst.each(function () {
            if ($(this).attr("checked")) {
                falg++;
            }
        });
        if (falg > 0) {
            if (confirm("是否确认删除?")) {
                $("#fm").form("submit", {
                    url: "/MainManagement/ProjectDetails/Delete/0/" + id,
                    onSubmit: function () {
                        return $(this).form("validate")
                    },
                    success: function (result) {
                        if (result == "OK") {
                            alert("删除成功!");
                            location.href = "/MainManagement/ProjectDetails/List";
                        }
                        else {
                            alert(result);
                        }
                    }
                });
            }
        }
        else {
            alert("请选择要删除的项!");
        }
    }

一个人的忧伤的主页 一个人的忧伤 | 初学一级 | 园豆:76
提问于:2016-03-28 17:16
< >
分享
最佳答案
0

和你说2种思路吧!实现的方式有2种,

第一种:是以jquery的方式,把所有选中的节点的ID放入一个集合,用ajax传入后台,依次删除。这期间你需要取得页面所有选中的checkbox的集合。push进Array()。

$.ajax({
                        type: "post",
                        url: "/MainManagement/ProjectDetails/Delete/0/" + id",
                        traditional: true, //这里取消深度实例化,
                        data: { "array": arr },//你页面上选中的需要删除的ID集合。这一步你要自己去实现,首要工作
                        success: function (resultdata) {
                           
                        }
                    });
后台Action里接收用 int [] array,即可。然后读取集合依次删除就行。

第二种:

你可以传入你选的节点的ID,点击删除,后台查询该节点的子节点集合。然后一并删除。这种情况只适合你的节点数据都是已经存在于数据库里的。

 

 

收获园豆:140
贫民窟大侠 | 老鸟四级 |园豆:4276 | 2016-03-29 10:16

我是在后台处理的,已经处理好了,谢谢

一个人的忧伤 | 园豆:76 (初学一级) | 2016-03-29 13:53

@一个人的忧伤: 嗯!

贫民窟大侠 | 园豆:4276 (老鸟四级) | 2016-03-29 13:54
其他回答(2)
0

你在/MainManagement/ProjectDetails/Delete/0/这个控制器里面修改下 //虽然不知道你最后的0是干啥的

当删除节点的时候判断是否有子节点,有则一同删除

刘宏玺 | 园豆:14016 (专家六级) | 2016-03-29 10:25
0

删除父节点的时候先遍历删除该父节点下面的所有字节点,最后删除父节点

飞鸟_Asuka | 园豆:251 (菜鸟二级) | 2016-03-29 10:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册