Asp.Net MVC标识重置密码



管理员重置密码-没有电子邮件链接只有管理员可以重置密码,我从MVC管理员重置用户密码中得到了这段代码,但在我的项目中,我在行上得到了一个错误

await store.SetPasswordHashAsync(cUser, hashedNewPassword);

代码:

//
// POST: /Account/ResetPassword
[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public async Task<ActionResult> ResetPassword(ResetPasswordViewModel model)
{
ApplicationDbContext context = new ApplicationDbContext();
UserStore<ApplicationUser> store = new UserStore<ApplicationUser>(context);
UserManager<ApplicationUser> UserManager = new UserManager<ApplicationUser> (store);
string userId = model.Id;
string newPassword = model.NewPassword;
string hashedNewPassword = UserManager.PasswordHasher.HashPassword(newPassword);
ApplicationUser cUser = await store.FindByIdAsync(userId);
await store.SetPasswordHashAsync(cUser, hashedNewPassword);
await store.UpdateAsync(cUser);
return RedirectToAction("Index");
}

在此处输入图像描述

查看重置密码的代码

EDIT:在看到视图后,您可以做的事情是检查视图是否真的得到了ID。如果控制器给出了ID,请检查控制器的[get]操作,我要检查的一件事是暂时更改:

@Html.HiddenFor()

@Html.TextBoxFor()

然后刷新。

如果您处于调试模式,您也可以在断点窗口中检查id的值

相关内容

  • 没有找到相关文章

最新更新