asp.net mvc 判断原密码是否正确 然后修改密码再确认密码 并提交
时间: 2023-07-07 10:15:21 浏览: 224
要实现这个功能,你可以按照以下步骤进行操作:
1. 在 View 中添加原密码、新密码和确认密码的输入框。
2. 在控制器中编写代码,通过用户输入的旧密码判断其是否正确。
3. 如果旧密码正确,则验证新密码和确认密码是否一致,如果一致,则将新密码保存到数据库中。
4. 在 View 中添加表单,将用户输入的数据提交到控制器中进行处理。
以下是一些示例代码,用于实现密码修改的功能:
View 中的密码输入框:
```
@using (Html.BeginForm("ChangePassword", "Account", FormMethod.Post))
{
<div>
<label for="oldPassword">旧密码:</label>
<input type="password" name="oldPassword" id="oldPassword" />
</div>
<div>
<label for="newPassword">新密码:</label>
<input type="password" name="newPassword" id="newPassword" />
</div>
<div>
<label for="confirmPassword">确认密码:</label>
<input type="password" name="confirmPassword" id="confirmPassword" />
</div>
<input type="submit" value="修改密码" />
}
```
控制器中的密码修改代码:
```
[HttpPost]
public ActionResult ChangePassword(string oldPassword, string newPassword, string confirmPassword)
{
var currentUser = Membership.GetUser(User.Identity.Name);
if (currentUser != null && currentUser.ChangePassword(oldPassword, newPassword))
{
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", "密码修改失败,请确认旧密码是否正确。");
}
return View();
}
```
请注意,以上代码仅供参考,实际实现中可能需要根据具体需求进行修改。同时,为了保证安全性,需要对用户输入的密码进行一定的校验和过滤,以防止恶意攻击和非法操作。
阅读全文