在使用Web表单用自定义属性更新IdentityUser之后.如何显示新的自定义属性

本文关键字:自定义属性 显示 何显示 之后 Web 表单 更新 IdentityUser | 更新日期: 2023-09-27 18:16:13

在浏览了这个页面(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>

我在身份配置文件中创建的自定义字段是FirstName和LastName。我希望能够在母版页中显示它们,就像在上面的代码中所做的那样,而是显示John Doe而不是JD_whateverLoginNameChosen。我只是不太明白如何正确访问它。谢谢你的帮助。

更新:我最终通过进入网站背后的代码来完成这个任务。母版页,而不是尝试从aspx端做它。我还必须将链接从HTML链接更改为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;

        }

    }

在使用Web表单用自定义属性更新IdentityUser之后.如何显示新的自定义属性

我最终通过进入网站背后的代码来完成这个任务。母版页,而不是尝试从aspx端做它。我还必须将链接从HTML链接更改为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;

    }

}