一、左侧列表菜单
打开视图Menu.cshtml,增加部分见红框
在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);
}
});
}
完工。
二、删除栏目。
在category控制器中添加删除action。action中有三不删:栏目不存在不能删(没法删);有子栏目不能删(删了会乱套);栏目有内容不能删(保留);
代码如下
/// <summary>
/// 删除栏目
/// </summary>
/// <param name="id">栏目Id</param>
/// <returns>Json类型数据</returns>
[HttpPost]
public JsonResult Del(int id)
{
JsonViewModel _jsongviewModel = new JsonViewModel(){ Authentication=, ValidationList= new Dictionary<string,string>()};
//栏目不存在
if (categoryRepository.Find(id) == null)
{
_jsongviewModel.Success = false;
_jsongviewModel.Message = "栏目不存在,请确认栏目是否已经删除。";
}
//存在子栏目
else if (categoryRepository.Children(id).Count() > )
{
_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");
}
}
完工。
代码见网盘或群Ninesky2013-12-06.rar