zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    jQuery点击事件解绑
    js添加key为数字的对象,通过类似于通过访问数组的中括号形式访问对象属性
    JS区分中英文字符的两种方法: 正则和charCodeAt()方法
    js时间比较,获取n天后(前)的日期
    js延迟函数
    @RequestBody和@ModelAttribute注解
    HttpServletRequest
    java异常处理之throw, throws,try和catch
    js去除空格,判断是否包含
    CSS :focus 选择器
  • 原文地址:https://www.cnblogs.com/mzwhj/p/3461470.html
Copyright © 2011-2022 走看看