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()" οnclick="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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值