• MVC4做网站后台:栏目管理3、删除栏目与左侧列表菜单


    一、左侧列表菜单

    打开视图Menu.cshtml,增加部分见红框image

    在category中添加脚本

    //栏目菜单加载完毕函数
    function CategoryMenu_Ready() {
        $('#categoryTreeView').tree({
            url: $('#categoryTreeView').attr('data-url'),
            lines:true,
            onClick: function (node) {
                var _layout = $('#layout');
                var _center = _layout.layout('panel', 'center');
                _center.panel('refresh','/Admin/Category/Modify/' + node.id);
            }
        });
    }

    完工。

    image

    二、删除栏目。

    在category控制器中添加删除action。action中有三不删:栏目不存在不能删(没法删);有子栏目不能删(删了会乱套);栏目有内容不能删(保留);

    代码如下

    /// <summary>
            /// 删除栏目
            /// </summary>
            /// <param name="id">栏目Id</param>
            /// <returns>Json类型数据</returns>
            [HttpPost]
            public JsonResult Del(int id)
            {
                JsonViewModel _jsongviewModel = new JsonViewModel(){ Authentication=0, ValidationList= new Dictionary<string,string>()};
                //栏目不存在
                if (categoryRepository.Find(id) == null)
                {
                    _jsongviewModel.Success = false;
                    _jsongviewModel.Message = "栏目不存在,请确认栏目是否已经删除。";
                }
                //存在子栏目
                else if (categoryRepository.Children(id).Count() > 0)
                {
                    _jsongviewModel.Success = false;
                    _jsongviewModel.Message = "该栏目存在子栏目,请先删除子栏目。";
                }
                //判断是否存在内容(预留)
    
                //执行删除
                else
                {
    
                    if (categoryRepository.Delete(id))
                    {
                        _jsongviewModel.Success = true;
                        _jsongviewModel.Message = "删除成功。";
                    }
                    else
                    {
                        _jsongviewModel.Success = false;
                        _jsongviewModel.Message = "未知错误,未能从数据库中删除栏目。";
                    }
                }
                return Json(_jsongviewModel);
            }

    打开Modify.cshtml视图,在修改按钮的旁边加删除按钮

    <a id="CategoryModify_Delete" href="javascript:void()" onclick="CategoryDel('@Url.Action("Del","Category")',@Model.CategoryId)" class="easyui-linkbutton">删除</a>

    打开category.js文件。添加CategoryDel()函数

    //删除栏目
    function CategoryDel(url, id) {
        if (confirm("你确定要删除此栏目吗?")) {
            $.post(url, { Id: id }, function (data) {
                //验证
                if (data.Authentication == 0) {
                    //操作成功
                    if (data.Success) {
                        $.messager.alert("删除栏目成功", data.Message, "info");
                        if ($('#categoryTreeView') != undefined) {
                            $('#categoryTreeView').tree('reload');
                        }
                    }
                    else {
                        $.messager.alert("删除栏目失败", data.Message, "error");
                    }
                }
                else AuthenticationFailed(data.Authentication);
            }, "json");
        }
    }

    完工。

    image

    代码见网盘或群Ninesky2013-12-06.rar

  • 相关阅读:
    科幻的意义---《超新星纪元》后记
    论文翻译第二弹--用python(或Markdown)对论文复制文本进行处理
    python note 001
    matlab读取txt文本
    VS中添加lib与dll
    Wake-Sleep(W-S)算法【转载】
    清华大学《C++语言程序设计进阶》线上课程笔记06---继承、派生、多态性
    清华大学《C++语言程序设计基础》线上课程笔记05---vector对象,对象的复制与移动,string类
    清华大学《C++语言程序设计基础》线上课程笔记04---指针
    Linux线程的信号量同步
  • 原文地址:https://www.cnblogs.com/mzwhj/p/3461470.html
Copyright © 2020-2023  润新知