加入收藏 | 设为首页 | 会员中心 | 我要投稿 滁州站长网 (https://www.0550zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

ASP.NET MVC5网站开发之添加删除重置密码修改密码列表浏

发布时间:2016-11-23 08:12:15 所属栏目:MsSql教程 来源:站长网
导读:一、安装插件。 展示层前端框架以Bootstrap为主,因为Bootstrap的js功能较弱,这里添加一些插件作补充。其实很多js插件可以通过NuGet安装,只是NuGet安装时添加的内容较多,不如自己复制来的干净,所以这里所有的插件都是下载然后复制到项目中。 1、Bootst

2、添加管理员
 在控制器中添加AddPartialView()方法 

/// <summary>
 /// 添加【分部视图】
 /// </summary>
 /// <returns></returns>
 public PartialViewResult AddPartialView()
 {
 return PartialView();
 }

Models文件夹【右键】->添加->类,输入类名 AddAdminViewModel。 

using System.ComponentModel.DataAnnotations;

namespace Ninesky.Web.Areas.Control.Models
{
 /// <summary>
 /// 添加管理员模型
 /// </summary>
 public class AddAdminViewModel
 {
 /// <summary>
 /// 帐号
 /// </summary>
 [Required(ErrorMessage = "必须输入{0}")]
 [StringLength(30, MinimumLength = 4, ErrorMessage = "{0}长度为{2}-{1}个字符")]
 [Display(Name = "帐号")]
 public string Accounts { get; set; }

 /// <summary>
 /// 密码
 /// </summary>
 [DataType(DataType.Password)] [Required(ErrorMessage = "必须输入{0}")]
 [StringLength(20,MinimumLength =6, ErrorMessage = "{0}长度少于{1}个字符")]
 [Display(Name = "密码")]
 public string Password { get; set; }
 }
}

右键添加视图

ASP.NET MVC5网站开发之添加删除重置密码修改密码列表浏

注意:抓图的时候忘记勾上引用脚本库了就抓了,记得勾上。

@model Ninesky.Web.Areas.Control.Models.AddAdminViewModel

@using (Html.BeginForm()) 
{
 @Html.AntiForgeryToken()
 
 <div class="form-horizontal">
 @Html.ValidationSummary(true, "", new { @class = "text-danger" })
 <div class="form-group">
 @Html.LabelFor(model => model.Accounts, htmlAttributes: new { @class = "control-label col-md-2" })
 <div class="col-md-10">
 @Html.EditorFor(model => model.Accounts, new { htmlAttributes = new { @class = "form-control" } })
 @Html.ValidationMessageFor(model => model.Accounts, "", new { @class = "text-danger" })
 </div>
 </div>

 <div class="form-group">
 @Html.LabelFor(model => model.Password, htmlAttributes: new { @class = "control-label col-md-2" })
 <div class="col-md-10">
 @Html.EditorFor(model => model.Password, new { htmlAttributes = new { @class = "form-control" } })
 @Html.ValidationMessageFor(model => model.Password, "", new { @class = "text-danger" })
 </div>
 </div>

 </div>
}
@Scripts.Render("~/bundles/jqueryval")

在Index视图 script脚本区域,“//表格结束”后面添加js代码 

//表格结束
 //工具栏
 //添加按钮
 $("#btn_add").click(function () {
 var addDialog = new BootstrapDialog({
 title: "<span class='glyphicon glyphicon-plus'></span>添加管理员",
 message: function (dialog) {
 var $message = $('<div></div>');
 var pageToLoad = dialog.getData('pageToLoad');
 $message.load(pageToLoad);

 return $message;
 },
 data: {
 'pageToLoad': '@Url.Action("AddPartialView")'
 },
 buttons: [{
 icon: "glyphicon glyphicon-plus",
 label: "添加",
 action: function (dialogItself) {
 $.post($("form").attr("action"), $("form").serializeArray(), function (data) {
 if (data.Code == 1) {
  BootstrapDialog.show({
  message: data.Message,
  buttons: [{
  icon: "glyphicon glyphicon-ok",
  label: "确定",
  action: function (dialogItself) {
  $table.bootstrapTable("refresh");
  dialogItself.close();
  addDialog.close();
  }
  }]

  });
 }
 else BootstrapDialog.alert(data.Message);
 }, "json");
 $("form").validate();
 }
 }, {
 icon: "glyphicon glyphicon-remove",
 label: "关闭",
 action: function (dialogItself) {
 dialogItself.close();
 }
 }]
 });
 addDialog.open();
 });
 //添加按钮结束

ASP.NET MVC5网站开发之添加删除重置密码修改密码列表浏

3、删除管理员 
考虑到批量删除,上次写AdministratorManager没有写批量删除方法,这次补上。 
打开Ninesky.Core/AdministratorManager.cs, 添加如下代码 

/// <summary>
 /// 删除【批量】返回值Code:1-成功,2-部分删除,0-失败
 /// </summary>
 /// <param name="administratorIDList"></param>
 /// <returns></returns>
 public Response Delete(List<int> administratorIDList)
 {
 Response _resp = new Response();
 int _totalDel = administratorIDList.Count;
 int _totalAdmin = Count();
 foreach (int i in administratorIDList)
 {
 if (_totalAdmin > 1)
 {
 base.Repository.Delete(new Administrator() { AdministratorID = i }, false);
 _totalAdmin--;
 }
 else _resp.Message = "最少需保留1名管理员";
 }
 _resp.Data = base.Repository.Save();
 if(_resp.Data == _totalDel)
 {
 _resp.Code = 1;
 _resp.Message = "成功删除" + _resp.Data + "名管理员";
 }
 else if (_resp.Data > 0)
 {
 _resp.Code = 2;
 _resp.Message = "成功删除" + _resp.Data + "名管理员";
 }
 else
 {
 _resp.Code = 0;
 _resp.Message = "删除失败";
 }
 return _resp;
 }

另外要修改一下Ninesky.DataLibrary.Repository的删除public int Delete(T entity, bool isSave)代码将Remove方式 改为Attach,不然会出错。 

/// <summary>
 /// 删除实体
 /// </summary>
 /// <param name="entity">实体</param>
 /// <param name="isSave">是否立即保存</param>
 /// <returns>在“isSave”为True时返回受影响的对象的数目,为False时直接返回0</returns>
 public int Delete(T entity, bool isSave)
 {
 DbContext.Set<T>().Attach(entity);
 DbContext.Entry<T>(entity).State = EntityState.Deleted;
 return isSave ? DbContext.SaveChanges() : 0;
 }

(编辑:滁州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读