2.4删除用户组

删除用户组相对简单些,不用单独的页面,直接在浏览页面点击删除时,弹出确认删除对话框,点击确认,用jquery post删除。

打开【UserGroupController】,删掉public ActionResult Delele(int GroupId) { return View(); }

修改删除处理Action[Delete(int Id)],修改后的代码

/// <summary>
        /// 删除用户组
        /// </summary>
        /// <param name="Id">用户组Id</param>
        /// <returns></returns>
        [HttpPost]
        [AdminAuthorize]
        public JsonResult Delete(int Id)
        {
            userGroupRsy = new UserGroupRepository();
            if (userGroupRsy.Delete(Id)) return Json(true);
            else return Json(false);
        }

这里返回类型为JsonResult目的方便使用jquery 的post方式删除。

打开List.cshtml,将@Html.ActionLink("删除", "Delete", new { id = item.UserGroupId }) 改为<a href="javascript:void(0)" onclick="Delete(@item.UserGroupId,'@item.Name')" >删除</a>

在文件底部添加脚本

function Delete(id,name) {
        if (confirm("你确定要删除【" + name + "】吗?")) {
            $.post("@Url.Content("~/UserGroup/Delete")", {Id:id}, function (data) {
                if (data) {
                    alert("删除【" + name + "】成功!");
                    location.reload();
                }
            });
        }
    }

完成后整个List.cshtml的代码如下:

@model IEnumerable<Ninesky.Models.UserGroup>

@{
    ViewBag.Title = "用户组列表";
    Layout = "~/Views/Layout/_Manage.cshtml";
}
<div class="left">
    <div class="top"></div>
    左侧列表
</div>
<div class="split"></div>
<div class="workspace">
    <div class="inside">
        <div class="notebar">
            <img alt="" src="~/Skins/Default/Manage/Images/UserGroup.gif" />用户组列表
        </div>
        <div class="buttonbar">@Html.ActionLink("添加用户组", "Add", "UserGroup") 用户组类型:
            @Html.DropDownList("GroupTypeList")
        </div>
        <table>
            <tr>
                <th>
                    @Html.DisplayNameFor(model => model.Name)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.Type)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.Description)
                </th>
                <th></th>
            </tr>
            @foreach (var item in Model)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item.Name)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Type)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.Description)
                    </td>
                    <td>
                        @Html.ActionLink("修改", "Edit", new { id = item.UserGroupId }) |
                        <a href="javascript:void(0)" onclick="Delete(@item.UserGroupId,'@item.Name')" >删除</a>
                    </td>
                </tr>
            }
        </table>
    </div>
</div>
<div class="clear"></div>
<script type="text/javascript">
    $("#GroupTypeList").change(function () {
        window.location.href = "/UserGroup/List/" + $(this).children("option:selected").val();
    })
    function Delete(id,name) {
        if (confirm("你确定要删除【" + name + "】吗?")) {
            $.post("@Url.Content("~/UserGroup/Delete")", {Id:id}, function (data) {
                if (data) {
                    alert("删除【" + name + "】成功!");
                    location.reload();
                }
            });
        }
    }
</script>

到此打完收工!

代码打包下载: http://pan.baidu.com/share/link?shareid=118238&uk=2198133459