在使用 Web 窗体使用自定义属性更新 IdentityUser 之后。如何显示新的自定义 属性
After updating IdentityUser with custom properties using Web Forms. How to display new custom property
关注此页面 (http://www.itorian.com/2013/11/customize-users-profile-in-aspnet.html) 后,我能够毫无问题地向我的身份用户添加自定义 属性。我遇到的问题是,之后我在网上可以找到的所有内容都涉及在 MVC 项目中显示自定义属性,但我的项目是 2015 ASP.NET Web Forms 应用程序。在母版页中有这段代码显示用户名:
<li><a runat="server" href="~/Account/Manage" title="Manage your account">Hello, <%: Context.User.Identity.GetUserName() %> !</a>
我在身份资料中创建的自定义字段是名字和姓氏。我希望能够像在上面的代码中那样在母版页中显示它们,而是显示 John Doe 而不是 JD_whateverLoginNameChosen。我只是不太清楚如何正确访问它。谢谢您的帮助。
更新:
我最终通过进入 site.master 页面后面的代码而不是尝试从 aspx 端完成此操作来完成此操作。我还必须将 link 从 HTML link 更改为 ASP 超链接。这是我用来执行此操作的代码:
protected void Page_Load(object sender, EventArgs e)
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var currentUser = manager.FindById(Context.User.Identity.GetUserId());
HyperLink h = ((HyperLink)this.loginViewMaster.FindControl("ManageLink"));
if(currentUser != null)
{
h.Text = "Hello, " + currentUser.FirstName + " " + currentUser.LastName;
}
}
我最终通过进入 site.master 页面的代码隐藏而不是尝试从 aspx 端完成此操作来完成此操作。我还必须将 link 从 HTML link 更改为 ASP 超链接。这是我用来执行此操作的代码:
protected void Page_Load(object sender, EventArgs e)
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var currentUser = manager.FindById(Context.User.Identity.GetUserId());
HyperLink h = ((HyperLink)this.loginViewMaster.FindControl("ManageLink"));
if(currentUser != null)
{
h.Text = "Hello, " + currentUser.FirstName + " " + currentUser.LastName;
}
}
关注此页面 (http://www.itorian.com/2013/11/customize-users-profile-in-aspnet.html) 后,我能够毫无问题地向我的身份用户添加自定义 属性。我遇到的问题是,之后我在网上可以找到的所有内容都涉及在 MVC 项目中显示自定义属性,但我的项目是 2015 ASP.NET Web Forms 应用程序。在母版页中有这段代码显示用户名:
<li><a runat="server" href="~/Account/Manage" title="Manage your account">Hello, <%: Context.User.Identity.GetUserName() %> !</a>
我在身份资料中创建的自定义字段是名字和姓氏。我希望能够像在上面的代码中那样在母版页中显示它们,而是显示 John Doe 而不是 JD_whateverLoginNameChosen。我只是不太清楚如何正确访问它。谢谢您的帮助。
更新: 我最终通过进入 site.master 页面后面的代码而不是尝试从 aspx 端完成此操作来完成此操作。我还必须将 link 从 HTML link 更改为 ASP 超链接。这是我用来执行此操作的代码:
protected void Page_Load(object sender, EventArgs e)
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var currentUser = manager.FindById(Context.User.Identity.GetUserId());
HyperLink h = ((HyperLink)this.loginViewMaster.FindControl("ManageLink"));
if(currentUser != null)
{
h.Text = "Hello, " + currentUser.FirstName + " " + currentUser.LastName;
}
}
我最终通过进入 site.master 页面的代码隐藏而不是尝试从 aspx 端完成此操作来完成此操作。我还必须将 link 从 HTML link 更改为 ASP 超链接。这是我用来执行此操作的代码:
protected void Page_Load(object sender, EventArgs e)
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
var currentUser = manager.FindById(Context.User.Identity.GetUserId());
HyperLink h = ((HyperLink)this.loginViewMaster.FindControl("ManageLink"));
if(currentUser != null)
{
h.Text = "Hello, " + currentUser.FirstName + " " + currentUser.LastName;
}
}