User.Identity.GetUserName() 返回错误



我不太确定 Razor 视图中这个简单代码有什么问题:

@using Microsoft.AspNet.Identity
<span>@Html.DisplayName(User.Identity.GetUserName())</span>

我已经检查了我的AspNetUsers表字段中的值UserNamexxx@example.com.

相反,返回xxx@example.com,它只返回com

出于好奇,我将其更改为xxx@example.net,确实它只是返回net

我试图搜索一些文章,但一无所获。该代码实际上出了什么问题?

当您只想显示标识下可用的"用户名"值时,这里DisplayName有什么用?显示名称方法尝试查找传递给方法的嵌套属性上可用的属性display

你还记得这些MVC方法是如何工作的吗? 每当我们在此类方法中传递任何表达式时,它都会将其视为嵌套属性并尝试查找最后一个属性节点。

例如c.User.Name它将尝试使用name,因此当我们传递xxx@example.net时,它会尝试在嵌套表达式中找到xx@example.net的最后一个属性,并且值将被net

但是当你只是想显示价值时,只需使用

<span>@User.Identity.GetUserName()</span>

相关内容

  • 没有找到相关文章

最新更新