为了账号安全,请及时绑定邮箱和手机立即绑定

NET Core Razor Pages中如何使用Setters扩展UserManager?

NET Core Razor Pages中如何使用Setters扩展UserManager?

C#
慕哥6287543 2021-05-12 21:18:09
我正在使用.NET Core 2 Razor Pages和个人帐户身份验证来开发Web应用程序。我用名字扩展数据库,因为它不是标准实现的。一切正常。但是,我想扩展我的/ Account / Manage页面,以确保用户能够更改自己的名称。OnGetAsync可以正常工作,但是当我的OnPostAsync无法正常工作时。OnPostAsync public async Task<IActionResult> OnPostAsync()    {        if (!ModelState.IsValid)        {            return Page();        }        var user = await _userManager.GetUserAsync(User);        if (user == null)        {            throw new ApplicationException($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");        }        if (Input.Email != user.Email)        {            var setEmailResult = await _userManager.SetEmailAsync(user, Input.Email);            if (!setEmailResult.Succeeded)            {                throw new ApplicationException($"Unexpected error occurred setting email for user with ID '{user.Id}'.");            }        }        if (Input.PhoneNumber != user.PhoneNumber)        {            var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, Input.PhoneNumber);            if (!setPhoneResult.Succeeded)            {                throw new ApplicationException($"Unexpected error occurred setting phone number for user with ID '{user.Id}'.");            }        }        // not working yet        if (Input.FirstName != user.FirstName)        {            var setFirstNameResult = await MyManager.SetFirstNameAsync(user, Input.FirstName);            if (!setFirstNameResult.Succeeded)            {                throw new ApplicationException($"Unexpected error occurred setting first name for user with ID '{user.Id}'.");            }        }        StatusMessage = "Your profile has been updated";        return RedirectToPage();    }当我点击“保存”按钮并告诉我我的个人资料已成功更新时,它失败了,但是没有成功。它只是保留了旧的名字值。我在这里想念什么?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 144 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信