博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
学用MVC4做网站六后台管理:6.1.3管理员修改密码
阅读量:5812 次
发布时间:2019-06-18

本文共 3754 字,大约阅读时间需要 12 分钟。

6.1.3修改密码

需要两个action。一个是点击修改密码的链接要显示修改密码的分部视图(对话框形式);另一个是提交的处理action。

1、打开【AdministratorController】添加返回分部视图[ChangePassWord()]action

///         /// 修改密码        ///         /// 
[AdminAuthorize] public PartialViewResult ChangePassWord() { return PartialView(); }

添加视图

@using (Html.BeginForm("ChangePassWord", "Administrator", FormMethod.Post, new { id = "admincha_form" })) { @Html.AntiForgeryToken() @Html.ValidationSummary()
原密码
新密码
重复密码
}

2、添加修改密码处理action[ChangePassWord(string oldPwd,string newPwd)],返回JsonData类型。

[AdminAuthorize]        [HttpPost]        public JsonResult ChangePassWord(string oldPwd,string newPwd)        {            JsonData _jdata = new JsonData();            if (ModelState.IsValid)            {                var _admin = AdministratorController.AdminInfo;                if (_admin == null)                {                    _jdata.Success = false;                    _jdata.Msg = "登录已超时,请重新登录!";                }                else if (Common.Sha256(oldPwd) != _admin.PassWord)                {                    _jdata.Success = false;                    _jdata.Msg = "原密码错误!";                }                else                {                    _admin.PassWord = Common.Sha256(newPwd);                    if (adminRsy.Modify(_admin))                    {                        _jdata.Success = true;                        _jdata.Msg = "保存成功√!";                    }                    else                    {                        _jdata.Success = false;                        _jdata.Msg = "数据未能保存到数据库!";                    }                }            }            else            {                var _eItem = ModelState.Where(m => m.Value.Errors.Count > 0);                foreach (var i in _eItem)                {                    _jdata.MsgLsit.Add(i.Key, "验证失败!");                }            }            return Json(_jdata);        }

3、打开Administrator.js添加两个函数,ShowChangePwdDlg(url)用户显示修改密码的对话框url就是对话框加载的视图url,AdminCPwdSave()用来进行提交的客户端处理。

//显示修改密码窗口function ShowChangePwdDlg(url) {    $(document.body).append("
"); $('#cPwdDlg').dialog({ title: "修改密码", width: 480, height: 260, closed: false, cache: false, href: url, modal: true, onClose: function () { $(this).dialog("destroy"); } });}//修改密码保存function AdminCPwdSave() { $('#admincha_form').form('submit', { success: function (data) { var rt = jQuery.parseJSON(data); if (rt.Success) { $.messager.alert("保存成功", rt.Msg, "", function () { location.href = $("#btn_Logout").attr("href"); $("#cPwdDlg").dialog("destroy"); }); } else { var msg = ""; if (rt.MsgLsit != undefined) { $.each(rt.MsgLsit, function (i, val) { msg += "
  • " + i + ":" + val + "
  • "; }); } if (msg != "") msg = rt.Msg + "

    原因如下:" + "

      " + msg + "

    "; else msg = rt.Msg; $.messager.alert("保存失败", msg, "error"); } } });}

    待续!

    转载地址:http://kztbx.baihongyu.com/

    你可能感兴趣的文章
    Scrum之 Sprint计划会议
    查看>>
    svn命令在linux下的使用
    查看>>
    Gradle之module间依赖版本同步
    查看>>
    java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
    查看>>
    10g手动创建数据库
    查看>>
    Windwos Server 2008 R2 DHCP服务
    查看>>
    UVa 11292 勇者斗恶龙(The Dragon of Loowater)
    查看>>
    白话算法(7) 生成全排列的几种思路(二) 康托展开
    查看>>
    d3 v4实现饼状图,折线标注
    查看>>
    微软的云策略
    查看>>
    Valid Parentheses
    查看>>
    【ES6】数值的扩展
    查看>>
    性能测试之稳定性测试
    查看>>
    ES6的 Iterator 遍历器
    查看>>
    2019届高二(下)半期考试题(文科)
    查看>>
    nginx 301跳转到带www域名方法rewrite(转)
    查看>>
    AIX 配置vncserver
    查看>>
    windows下Python 3.x图形图像处理库PIL的安装
    查看>>
    【IL】IL生成exe的方法
    查看>>
    network
    查看>>