gpt4 book ai didi

c# - 如何在 _LoginPartial.cshtml 中获取用户名(不是电子邮件)? - ASP.NET 标识

转载 作者:太空宇宙 更新时间:2023-11-03 13:04:26 25 4
gpt4 key购买 nike

我试过这样得到它:

User.Identity.GetUserName()

像这样:

User.Identity.Name

但我收到的是电子邮件,而不是 UserName 属性。

最佳答案

您无需更改 _LoginPartial.cshtml 文件中的任何内容。相反,在 AccountController 中将您的注册帖子从

    public async Task<IActionResult> Register(RegisterViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };

为此:

    public async Task<IActionResult> Register(RegisterViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var user = new ApplicationUser { UserName = model.UserName, Email = model.Email };

请记住,如果您已经运行了第一个代码并在您的数据库中注册了一个试用用户,那么用户名将设置为电子邮件,因此请从您的 AspNetUser 表中删除该条目或适本地更新用户名和规范化用户名字段。

更新:如此处所述gethub Entity API 根据 NormalizedUserName 检查登录。因此,当您在 RegisterViewModel 上向用户提供输入不是电子邮件的值时,您需要删除 LoginViewModel 中的 [EmailAddress] 验证。

关于c# - 如何在 _LoginPartial.cshtml 中获取用户名(不是电子邮件)? - ASP.NET 标识,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31246255/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com