https://github.com/densen2014/Blazor100/tree/Blazor-%E6%95%99%E7%A8%8B15-5/b16blazorIDS2
开启自动翻译后, 鼠标停留就自动翻译, 点击翻译语句直接替换原字符串,太解放生产力了!
文件 Areas\Identity\Pages\Account\Login.cshtml
@page
@model LoginModel
@{
ViewData["Title"] = "登录";
}
@ViewData["Title"]
使用其他服务登录.
@{
if ((Model.ExternalLogins?.Count ?? 0) == 0)
{
没有配置外部身份验证服务。查看链接 文章
关于设置此 ASP.NET 应用程序以支持通过外部服务登录.
}
else
{
}
}
@section Scripts {
}
Login.cshtml.cs
里面的 InputModel
也处理一下 public class InputModel
{
///
/// 此 API 支持 ASP.NET Core Identity 默认 UI 基础结构,不打算使用
/// 直接来自您的代码。此 API 可能会在未来的版本中更改或删除。
///
[Required]
[EmailAddress]
public string Email { get; set; }
///
/// 此 API 支持 ASP.NET Core Identity 默认 UI 基础结构,不打算使用
/// 直接来自您的代码。此 API 可能会在未来的版本中更改或删除。
///
[Required]
[DataType(DataType.Password)]
[Display(Name = "密码")]
public string Password { get; set; }
///
/// 此 API 支持 ASP.NET Core Identity 默认 UI 基础结构,不打算使用
/// 直接来自您的代码。此 API 可能会在未来的版本中更改或删除。
///
[Display(Name = "记住账号?")]
public bool RememberMe { get; set; }
}
文件 Areas\Identity\Pages\Account\Register.cshtml
注册密码默认长度有两个地方设置
1.Program.cs
设置
builder.Services.AddDefaultIdentity(o =>
{ // Password settings.
o.Password.RequiredLength = 1;
}
)
Register.cshtml.cs
的 InputModel
修改 StringLength
特性, 顺便添加 Display
特性
[Required]
[StringLength(100, MinimumLength=1, ErrorMessage = "{0} 的长度必须至少为 {2},最多为 {1} 个字符.")]
[DataType(DataType.Password)]
[Display(Name = "密码")]
public string Password { get; set; }
文件 Areas\Identity\Pages\Account\Manage\Index.cshtml
添加代码
后置代码文件 Index.cshtml.cs
在 public string PhoneNumber { get; set; }
后加入代码
public class InputModel
{
...
[Display(Name = "名称")]
public string Name { get; set; }
}
在 LoadAsync()
里加入 Name
字段相关代码
private async Task LoadAsync(WebAppIdentityUser user)
{
var userName = await _userManager.GetUserNameAsync(user);
var phoneNumber = await _userManager.GetPhoneNumberAsync(user);
var name = user.Name;
Username = userName;
Input = new InputModel
{
PhoneNumber = phoneNumber,
Name = name
};
}
在 OnPostAsync()
里加入 Name
字段相关代码
public async Task OnPostAsync()
{
var user = await _userManager.GetUserAsync(User);
if (user == null)
{
return NotFound($"无法加载具有 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 = "尝试设置电话号码时出现意外错误.";
return RedirectToPage();
}
}
var name = user.Name;
if (Input.Name != name)
{
user.Name = Input.Name;
await _userManager.UpdateAsync(user);
}
await _signInManager.RefreshSignInAsync(user);
StatusMessage = "你的个人资料已经更新";
return RedirectToPage();
}
https://github.com/densen2014/Blazor100/tree/Blazor-%E6%95%99%E7%A8%8B15-5/b16blazorIDS2
https://github.com/densen2014/Blazor100
https://gitee.com/densen2014/Blazor100 (镜像/非最新版)—
FreeSql QQ群:4336577
BA & Blazor QQ群:795206915
Maui Blazor 中文社区 QQ群:645660665
本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名AlexChow,不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请与我联系 。
本文来自博客园,作者:周创琳 AlexChow,转载请注明原文链接.
今日头条 | 博客园 | 知乎 | Gitee | GitHub