一、管理员列表

1、首先【AdministratorController】中添加返回分部视图的public PartialViewResult Index()

/// <summary>
/// 管理员列表
/// </summary>
/// <returns></returns>
[AdminAuthorize]
public PartialViewResult Index()
{
return PartialView(); ;
}

2、在添加public JsonResult List()返回管理员列表数据

/// <summary>
/// 管理员列表
/// </summary>
/// <returns></returns>
[AdminAuthorize]
public JsonResult List()
{
return Json(adminRsy.Find());
}

3、为Index()添加局部视图。视图中利用easyui的datagrid进行管理

@Scripts.Render("~/Areas/Admin/Scripts/Administrator.js")
<div class="c_navbar">网站设置 >> 管理员管理</div>
<div id="admin_wapper" class="fs_wapper">
<div class="header">管理员设置 </div>
<table id="admin_datagrid" class="easyui-datagrid" data-options="url:'@Url.Action("List", "Administrator")',singleSelect:true,toolbar:'#toolbar'">
<thead>
<tr>
<th data-options="field:'AdministratorId'">ID</th>
<th data-options="field:'IsPreset'">系统账号</th>
<th data-options="field:'AdminName'">用户名</th>
<th data-options="field:'Name'">姓名</th>
<th data-options="field:'Email'">电子邮件</th>
</tr>
</thead>
</table>
<div id="toolbar">
<a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-add" plain="true" onclick="AdminAddDlgShow()">添加</a>
<a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-edit" plain="true" onclick="AdminDelRow('@Url.Action("Delete", "Administrator")')">删除</a>
</div>
<div id="adminadddlg" class="easyui-dialog" title="添加管理员" style="width:620px;height:290px;" data-options="iconCls:'icon-save',resizable:true,modal:true,closed:true,href:'@Url.Action("Add", "Administrator")'"></div>
</div>

4、管理员添加

首先添加一个显示添加视图的action  public PartialViewResult Add()

/// <summary>
/// 添加管理员
/// </summary>
/// <returns></returns>
[AdminAuthorize]
public PartialViewResult Add()
{
return PartialView();
}

再添加一个提交后的处理action public JsonResult Add(Administrator admin)

[AdminAuthorize]
[HttpPost]
public JsonResult Add(Administrator admin)
{
JsonData _jdata = new JsonData();
if (ModelState.IsValid)
{
if (adminRsy.Find(admin.AdminName) != null)
{
_jdata.Success = false;
_jdata.Message = "管理员名称已存在!";
}
else
{
admin.IsPreset = false;
if (adminRsy.Add(admin))
{
_jdata.Success = true;
_jdata.Message = "保存成功√!";
}
else
{
_jdata.Success = false;
_jdata.Message = "数据未能保存到数据库!";
}
}
}
else
{
var _eItem = ModelState.Where(m => m.Value.Errors.Count > 0);//获取验证失败的项
foreach (var i in _eItem)
{
_jdata.MessageLsit.Add(i.Key, "验证失败!");
}
}
return Json(_jdata);
}

为Add()添加局部视图

@model Ninesky.Areas.Admin.Models.Administrator
<div class="fs_wapper">
@using (Html.BeginForm("Add", "Administrator", FormMethod.Post, new { id = "adminadd_form" }))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary()
<table>
<tr>
<th>@Html.LabelFor(model => model.AdminName)</th>
<td>@Html.EasyuiInput(model => model.AdminName, new { @class = "easyui-validatebox" })
@Html.DisplayDescriptionFor(model => model.AdminName)</td>
</tr>
<tr>
<th>@Html.LabelFor(model => model.PassWord)</th>
<td>@Html.EasyuiInput(model => model.PassWord, new { @class = "easyui-validatebox",type="password" })
@Html.DisplayDescriptionFor(model => model.PassWord)</td>
</tr>
<tr>
<th>@Html.LabelFor(model => model.Name)</th>
<td>@Html.EasyuiInput(model => model.Name, new { @class = "easyui-validatebox" })
@Html.DisplayDescriptionFor(model => model.Name)</td>
</tr>
<tr>
<th>@Html.LabelFor(model => model.Email)</th>
<td>@Html.EasyuiInput(model => model.Email, new { @class = "easyui-validatebox" })
@Html.DisplayDescriptionFor(model => model.Email)</td>
</tr>
</table>
}
</div>
<div style="margin:20px;">
<a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-ok" onclick="AdminAddSave()">保存</a>
<a href="javascript:void(0)" class="easyui-linkbutton" iconcls="icon-cancel" onclick="AdminAddDlgClose()">关闭</a>
</div>

打开Administrator.js 写点击保存和点击关闭的js函数

//添加管理员保存
function AdminAddSave() { $('#adminadd_form').form('submit', {
success: function (data) {
var rt = jQuery.parseJSON(data);
if (rt.Success) {
$.messager.alert("保存成功", rt.Message,"" ,function () {
$("#adminadddlg").dialog("close");
$('#admin_datagrid').datagrid("reload");
});
}
else {
var msg = "";
if (rt.MessageLsit != undefined) {
$.each(rt.MessageLsit, function (i, val) {
msg += "<li>" + i + ":" + val + "</li>";
});
}
if (msg != "") msg = rt.Message + "<br /> <p> 原因如下:" + "<ul>" + msg + "</ul></p>";
else msg = rt.Message;
$.messager.alert("保存失败", msg, "error");
}
}
});
} //关闭添加管理员窗口
function AdminAddDlgClose() {
$("#adminadddlg").dialog("close");
}

再添加一个显示添加管理员窗口的方法

//显示添加对话框
function AdminAddDlgShow()
{
$("#adminadddlg").dialog("open");
$("#adminadddlg").dialog("refresh");
}

5、删除管理员

在控制器添加public JsonResult Delete(int Id)

 

/// <summary>
/// 删除管理员
/// </summary>
/// <param name="Id">管理员Id</param>
/// <returns></returns>
[AdminAuthorize]
[HttpPost]
public JsonResult Delete(int Id)
{
JsonData _jdata = new JsonData();
var _admin = adminRsy.Find(Id);
if (_admin == null)
{
_jdata.Success = false;
_jdata.Message = "Id为: " + Id + " 的管理员不存在!";
}
else if (_admin.IsPreset)
{
_jdata.Success = false;
_jdata.Message = "不能删除系统预置管理员账号!";
}
else
{
if (adminRsy.Delete(Id))
{
_jdata.Success = true;
_jdata.Message = "删除成功√";
}
else
{
_jdata.Success = false;
_jdata.Message = "删除失败!";
}
}
return Json(_jdata); }

在Administrator.js 中增加 删除管理员的客户端js方法

//删除管理员
function AdminDelRow(url) {
var row = $('#admin_datagrid').datagrid('getSelected');
if (row) {
$.messager.confirm('确认', '你确定要删除此管理员', function (r) {
if (r) {
$.post(url, { Id: row.AdministratorId }, function (data) {
if (data.Success) {
$.messager.alert("删除成功", data.Msg, "", function () { $("#admin_datagrid").datagrid("reload"); });
}
else $.messager.alert("错误", data.Msg, "error");
});
}
});
}
}

大功告成!

代码http://pan.baidu.com/s/1rG1vH

MVC4做网站六后台管理:6.1.4管理员列表、添加及删除的更多相关文章

  1. 学用MVC4做网站六后台管理:6.1.3管理员修改密码

    6.1.3修改密码 需要两个action.一个是点击修改密码的链接要显示修改密码的分部视图(对话框形式):另一个是提交的处理action. 1.打开[AdministratorController]添 ...

  2. 学用MVC4做网站六后台管理:6.1.1管理员登录、6.1.2退出

    1.管理员登录 在6.1中已添加控制器[AdministratorController] 在控制器中添加[Login()]action,用来显示登录页面 /// <summary> /// ...

  3. 学用MVC4做网站六:后台管理(续)

    关于后台的说明: 后台将会用easyui + ajax模式. 这里涉及两个问题,一个是使用easyui如何在前台验证模型的问题,另一个是ajax提交后返回数据. 一.Easyui验证 前台验证采用ea ...

  4. MVC4做网站六后台管理:6.2网站信息设置

    用来实现网站标题.名称.关键字.描述.版权等信息的设置. 模型字段: 网站的设置信息前后台都要用到,所以要把模型方式Ninesky/Models文件夹中,代码如下: ///////////////// ...

  5. 学用MVC4做网站六后台管理:6.1管理员(续)

    接6.1 首先在~/Areas/Admin/Models文件夹添加管理员模型Administrator.cs using System.ComponentModel.DataAnnotations; ...

  6. discuz管理员登录进入后台管理马上跳转到登录界面

    昨天尝试了一下这个discuz论坛,感觉还可以.今天刚刚用管理员账户进入后台管理,准备改一改界面熟悉一下,过不了10秒钟.老是马上就退出来了.我想起来了,昨天是在阿里云服务器上面直接登录这个管理员账号 ...

  7. rabbitmq之后台管理和用户设置(三)

    前言 前面介绍了erlang环境的安装和rabbitmq环境安装,接下来介绍rabbitmq的web管理和用户设置. 启用后台管理插件 通过后台管理插件我们可以动态监控mq的流量,创建用户,队列等. ...

  8. Day5作业,商城+ATM机+后台管理

    晚来了....东西太多,需要写的blog内容太多,re讲的渣渣,不明白为什么oldboy经常换老师,吐槽下吧,真心不爱了.... github地址在这:https://github.com/ccorz ...

  9. django的admin后台管理

    Admin后台管理 要进入admin后台管理首先要创建管理员账户 createsuperuser 其中密码要大于8位 使用之前要到应用下的admin.py中注册要管理的模型表 from django. ...

随机推荐

  1. Hive文件存储格式

    hive文件存储格式 1.textfile textfile为默认格式   存储方式:行存储   磁盘开销大 数据解析开销大   压缩的text文件 hive无法进行合并和拆分 2.sequencef ...

  2. 案例1.通过Jquery来处理复选框

    实现以下功能: 1:选中第一个复选框,那么下面所有的复选框都选中,去除选中第一个复选框,下面的都不选中 2:当点击全选按钮,上面足球.篮球.游泳.唱歌 全部选中 3:当点击全不选按钮,上面四个全部取消 ...

  3. c# http get请求与post请求实例

    //http请求工具类 using System;using System.Collections.Generic;using System.IO;using System.Linq;using Sy ...

  4. setTimeout 学习闭包

    @(技术笔记)[css] 学习参考网站 css 网站,可供参考 javascript学习网站 var create = function (i){ return function(){ console ...

  5. <十一>JDBC_事务的处理+隔离

    Tom给jerry汇款500元 1.如果多个操作,每个操作使用的是自己的单独的连接,则无法保证事务 2.具体步骤:   1>事务开始操作前,开始事务:取消Connection的默认提交行为 2& ...

  6. 1001. A+B Format (20)

    原题连接:https://www.patest.cn/contests/pat-a-practise/1001 题目如下: Calculate a + b and output the sum in ...

  7. DoTween 教程

    官方网站:http://dotween.demigiant.com/ 下载地址:http://dotween.demigiant.com/download.php pro版下载地址:http://pa ...

  8. 让代码重构渐行渐远系列(3)——string.Equals取代直接比较与非比较

    重构背景及原因 最近由于项目组的人员在不断扩充,导致项目中代码风格各异,大有百花齐放甚至怒放之势.考虑到团队的生存与发展,经过众人多次舌战之后,最终决定项目组根据业务分成几个小分队,以加强团队管理与提 ...

  9. C#_基础,初始化器

    对象初始化器 在没有对象初始化器之前,我们创建一个对象大概需要经过这么两个步骤,首先new一个对象,然后给每个字段赋值.而有了对象初始化器之后,原本需要几行代码才能完成的任务变成一行代码就可以完成,简 ...

  10. 解读ASP.NET 5 & MVC6系列(6):Middleware详解

    在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章我们就来一一分析,在这里如 ...