在 ASP.NET Core 中重置密码中返回 null

Return Null in Reset Password in ASP.NET Core

提问人:masoud mazloum 提问时间:10/4/2022 更新时间:10/5/2022 访问量:180

问:

我有一个忘记和重置密码的功能。 忘记密码工作正确,发送电子邮件正确,并返回电子邮件活动代码。 但是为什么 for reset 总是返回 null ?

RessetPassword 函数:

    [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 只是活动代码电子邮件、密码和重新密码正确 frim 视图:

@model AryanITC.Domain.ViewModels.Account.ResetPasswordViewModel
        <input asp-for="ConfirmPassword" type="password" class="pass >
        <span asp-validation-for="ConfirmPassword" class="field-validation-valid col-md-12 text-danger"></span>

        <button type="submit" class="submit text-center"> 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; }
}
ASP.net-core null nullreferenceexception 忘记密码 reset-password

评论


答:

1赞 Zhi Lv 10/5/2022 #1

正如我所说,忘记密码后返回此链接:

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);
    }

评论

0赞 masoud mazloum 10/5/2022
非常感谢,它有效。我有一些问题要进入一些方法,现在我明白了。非常感谢。