更改“用户名”列下的ASP.NET核心标识默认电子邮件地址

更改“用户名”列下的ASP.NET核心标识默认电子邮件地址,.net,asp.net-mvc,asp.net-core,asp.net-identity,.net,Asp.net Mvc,Asp.net Core,Asp.net Identity,ASP.NET核心标识将电子邮件地址作为默认地址存储在用户名列下。如何将其从存储电子邮件地址作为用户名更改为自定义名称作为用户名?这正是默认UI处理它的方式。如果您想以另一种方式进行,那么您需要将注册页面构建到项目中并进行更改。具体来说,您正在Register.cshtml.cs中查找这一行: await _userStore.SetUserNameAsync(user, Input.Email, CancellationToken.None); 在那里,您只需将Input.Email更改为类

ASP.NET核心标识将电子邮件地址作为默认地址存储在用户名列下。如何将其从存储电子邮件地址作为用户名更改为自定义名称作为用户名?

这正是默认UI处理它的方式。如果您想以另一种方式进行,那么您需要将注册页面构建到项目中并进行更改。具体来说,您正在
Register.cshtml.cs
中查找这一行:

await _userStore.SetUserNameAsync(user, Input.Email, CancellationToken.None);
在那里,您只需将
Input.Email
更改为类似
Input.UserName
的内容。当然,您需要在页面模型中添加一个
UserName
属性,这样您就可以首先收集这些信息,并相应地向视图中添加一个输入。

当您注册一个用户时,
Register.cshtml.cs
中的
OnPostAsync
处理程序具有以下代码,用于创建决定
UserName
列值的用户

var user = new IdentityUser { UserName = Input.Email, Email = Input.Email };
var result = await _userManager.CreateAsync(user, Input.Password);
您可以将
UseName=Input.Email
发送到您的自定义名称