这儿代码也重复了实现过程,在此基础上添加新字段。
public class HondyChatContext : IdentityDbContext<HondyChatUser>
{
public HondyChatContext(DbContextOptions<HondyChatContext> options)
: base(options)
{
}
找到OnPostAsync()
public async Task<IActionResult> OnPostAsync()
{
var user = await _userManager.GetUserAsync(User);
if (user == null)
{
return NotFound($"Unable to load user with ID '{_userManager.GetUserId(User)}'.");
}
if (!ModelState.IsValid)
{
await LoadAsync(user);
return Page();
}
var phoneNumber = await _userManager.GetPhoneNumberAsync(user);
if (Input.PhoneNumber != phoneNumber)
{
var setPhoneResult = await _userManager.SetPhoneNumberAsync(user, Input.PhoneNumber);
if (!setPhoneResult.Succeeded)
{
StatusMessage = "Unexpected error when trying to set phone number.";
return RedirectToPage();
}
}
// 添加处理 FullName 的逻辑
if (Input.FullName != user.FullName)
{
user.FullName = Input.FullName;
var setResult = await _userManager.UpdateAsync(user);
if (!setResult.Succeeded)
{
StatusMessage = "Unexpected error when trying to set full name.";
return RedirectToPage();
}
}
await _signInManager.RefreshSignInAsync(user);
StatusMessage = "Your profile has been updated";
return RedirectToPage();
}