有用户登录的系统,一般都会有修改密码的功能,下面我说说我打的简单的修改密码功能。
HTML代码:
<div id="container">
<div id="output">
<div class="containerT">
<h1>修改密码</h1>
<form class="form" id="entry_form">
<input type="password" placeholder="原密码" id="oldpwd" >
<input type="password" placeholder="新密码" id="newpwd">
<input type="password" placeholder="确认新密码" id="confirm">
<button type="button" id="entry_btn" onclick="savaUpdate()">保存</button>
<div id="prompt" class="prompt"></div>
</form>
</div>
</div>
</div>
在页面代码上写简单的判断,是否填写完整、密码是否五位数、新密码和确认密码是否一致。然后通过$.post异步提交数据到方法。
<script>
//保存修改
function savaUpdate() {
//获取页面数据
var oldpwd = $("#oldpwd").val();
var newpwd = $("#newpwd").val();
var confirm = $("#confirm").val();
//判断
if (oldpwd != '' && oldpwd != undefined
&& newpwd != '' && newpwd != undefined
&& confirm != '' && confirm != undefined) {
if (newpwd.length==5) {
if (newpwd == confirm) {
//异步提交数据
$.post("/LoanManagement/Password/UpdatePassword",
{
oldpwd: oldpwd,
newpwd: newpwd,
confirm: confirm
},
function (returnJson) {
alert(returnJson.Text);
location.reload();
}, "json");
}
else {
layer.alert('两次输入密码不一致!', { title: '提示', icon: 0 });
}
}
else {
layer.alert('密码需要五位数!', { title: '提示', icon: 0 });
}
}
else {
layer.alert('请填写完整', { title: '提示', icon: 0 });
}
}
</script>
到控制器写方法
public ActionResult UpdatePassword(S_User sysUser)
{
ReturnJson returnJson = new ReturnJson();
//获取页面数据
string styoldpwd = sysUser.oldpwd; //密码
var UserID = Session["UserID"];
int User = Convert.ToInt32(UserID);
string newpwd = sysUser.newpwd;
string confirm = sysUser.confirm;
try
{
string oldpwd = AESEncryptHelper.Encrypt(styoldpwd);
S_User dbUser = (from tbUser in myEntities.S_User
where tbUser.UserID == User &&
tbUser.Password == oldpwd
select tbUser).Single();
//判断密码是否正确
if (dbUser.Password == oldpwd)
{
S_User bbUser = (from tbUser in myEntities.S_User
where tbUser.UserID == User
select tbUser).Single();
string qnewpwd = sysUser.newpwd;
string qoldpwd = AESEncryptHelper.Encrypt(qnewpwd);
//给实体赋值
bbUser.Password = qoldpwd;
//执行修改
myEntities.Entry(bbUser).State = EntityState.Modified;
//保存修改
if (myEntities.SaveChanges() > 0)
{
returnJson.State = true;
returnJson.Text = "修改成功!";
}
else
{
returnJson.State = false;
returnJson.Text = "修改失败!";
}
}
else
{
returnJson.State = false;
returnJson.Text = "输入正确原密码";
}
}
catch (Exception e)
{
Console.WriteLine(e);
returnJson.State = false;
returnJson.Text = "请输入本人密码!";
}
return Json(returnJson, JsonRequestBehavior.AllowGet);
}