我根据mvc使用c#开发asp.net应用程序。在那里,我创建了一个用户配置文件,可以编辑或停用当前登录的用户。在我的用户个人资料视图中,我有一个电子邮件字段。因此,我需要将当前登录用户的电子邮件地址获取到View文件中的该字段(输入标记)。如何将当前登录用户的电子邮件地址转换为View文件?我使用了身份模型。
答案 0 :(得分:2)
这取决于您的代码,您使用电子邮件登录还是用户名? 如果您正在使用该电子邮件,请调用User.Identity.Name以获取它。
如果您使用的是用户名,则使用相同的行获取用户名,然后调用UserManager类以使用用户名获取User对象,然后使用email属性UserManager.FindById(User.Identity.Name);
将电子邮件放入ViewBag,例如:ViewBag.Email = user.Email。
在视图@ ViewBag.Email
中读取该值答案 1 :(得分:1)
从MVC 5开始,这就是基于此SO question:
的方法var user = UserManager.FindById(User.Identity.GetUserId());
var email = user.Email;
答案 2 :(得分:0)
User.Identity.GetUserName();
将为您提供当前登录用户的电子邮件地址。您应该检查默认的MVC模板以获得更多帮助。
答案 3 :(得分:0)
如果您真的使用身份模型,请在视图中调用它: @ User.Identity.GetUserName()
答案 4 :(得分:0)
如果您的ApplicationUser中有“电子邮件”的归档文件,则可以访问它而无需查询索赔,例如在控制器中,您可以:
this.User.GetClaimValue("email")