我有忘記和重置密碼的功能。忘記密碼可以正常作業并正確發送電子郵件并回傳電子郵件活動代碼。但為什么 for reset 總是回傳 null ?
重置密碼功能:
[Route("ResetPassword")]
[HttpGet]
public IActionResult ResetPassword()
{
return View();
}
[Route("ResetPassword")]
[HttpPost]
public async Task<IActionResult> ResetPassword(ResetPasswordViewModel reset)
{
if (ModelState.IsValid)
{
var result = await _userService.ResetPassword(reset);
switch (result)
{
.......
break;
}
}
return View(reset);
}
但總是回傳 null 只是活動代碼電子郵件、密碼和重新密碼正確地顯示視圖:
@model AryanITC.Domain.ViewModels.Account.ResetPasswordViewModel
<input asp-for="ConfirmPassword" type="password" ConfirmPassword" ></span>
<button type="submit" > submit </button>
</form>
</div>
正如我所說,這個鏈接在忘記密碼后回傳:
https://localhost:44385/resetpassword?EmailActiveCode=0e08ae5f498d4485a7d0ccc265ebfa1a
但從視圖中,EmailactiveCode 回傳 NULL???
這是我的視圖模型:
public class ResetPasswordViewModel
{
public string EmailActiveCode { get; set; }
public string Password { get; set; }
public string ConfirmPassword { get; set; }
}
uj5u.com熱心網友回復:
正如我所說,這個鏈接在忘記密碼后回傳:
https://localhost:44385/resetpassword?EmailActiveCode=0e08ae5f498d4485a7d0ccc265ebfa1a
使用上述請求 URL 訪問 ResetPassword 端點時,會先到 ResetPassword Get 方法,因此,在 ResetPassword Get 方法中,可以添加一個引數來接收 EmailActiveCode,然后回傳一個視圖模型到 ResetPasswrod 頁面,代碼如下:
[Route("ResetPassword")]
[HttpGet]
public IActionResult ResetPassword(string EmailActiveCode)
{
var reset = new ResetPasswordViewModel();
reset.EmailActiveCode = EmailActiveCode;
return View(reset);
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/511751.html
