如果他们已登录,我想在所有页面上显示用户的第一个名字。
我正在使用VS2013.3和WebForms。
到目前为止,我已经在用户个人资料注册时添加了其他属性,包括名字。
我想在网站母版页(site.master)中使用新的个人资料信息。样板模板使用
<%:Context.User.Identity.GetUserName()%>
我可以使用
访问用户的名字属性var user = UserManager.FindById(User.Identity.GetUserId());
user.FirstName;
我是C#和ASP.net的新手
如何在site.master.aspx页面中引用我的新用户个人资料属性?我是否需要在加载事件或类似事件中做或者有更好的方法吗?
答案 0 :(得分:1)
嘿,我不知道你是否有解决方案,但我会发表我的想法,这是我从你的问题和另一个article cos我也遇到了同样的问题。我在identitymodel中为ApplicationUser添加了firstname和lastname,然后在site.master.cs中使用了这段代码
public static string GetFirstName()
{
string firstname;
ApplicationDbContext db = new ApplicationDbContext();
UserStore<ApplicationUser> userStore = new UserStore<ApplicationUser>(db);
UserManager<ApplicationUser> userManager = new UserManager<ApplicationUser>(userStore);
ApplicationUser user = userManager.FindByName(HttpContext.Current.User.Identity.Name);
firstname = user.FirstName;
return firstname;
}
我在主页面上使用它
&lt;%:GetFirstName()%&gt;
希望它有所帮助