如何获取当前登录的用户';ASP.NET c#中视图的电子邮件地址?

如何获取当前登录的用户';ASP.NET c#中视图的电子邮件地址?,c#,asp.net-mvc,entity-framework,C#,Asp.net Mvc,Entity Framework,我正在根据mvc使用c#开发一个asp.net应用程序。在那里,我正在创建一个用户配置文件,可以对当前登录的用户进行编辑或停用。在我的用户配置文件视图中,我有一个电子邮件字段。所以我需要将当前登录用户的电子邮件地址发送到视图文件中的那个字段(输入标记)。如何将当前登录用户的电子邮件地址获取到视图文件?我使用了身份模型。User.Identity.GetUserName()将为您提供当前登录用户的电子邮件地址。您应该检查默认MVC模板以获取更多帮助。user.Identity.GetUserNam

我正在根据mvc使用c#开发一个asp.net应用程序。在那里,我正在创建一个用户配置文件,可以对当前登录的用户进行编辑或停用。在我的用户配置文件视图中,我有一个电子邮件字段。所以我需要将当前登录用户的电子邮件地址发送到视图文件中的那个字段(输入标记)。如何将当前登录用户的电子邮件地址获取到视图文件?我使用了身份模型。

User.Identity.GetUserName()
将为您提供当前登录用户的电子邮件地址。您应该检查默认MVC模板以获取更多帮助。

user.Identity.GetUserName()
将为您提供当前登录用户的电子邮件地址。您应该检查默认MVC模板以获取更多帮助。

这取决于您的代码,您是使用电子邮件登录还是使用用户名? 如果您正在使用电子邮件,请致电User.Identity.Name以获取该电子邮件

如果您使用的是用户名,则使用同一行获取用户名,然后调用UserManager类以使用用户名获取用户对象,然后使用电子邮件属性-

UserManager.FindById(User.Identity.GetUserId()); 
将电子邮件放入ViewBag中,例如:ViewBag.email=user.email


在view@ViewBag.Email中读取该值取决于您的代码,您是使用电子邮件登录还是使用用户名? 如果您正在使用电子邮件,请致电User.Identity.Name以获取该电子邮件

如果您使用的是用户名,则使用同一行获取用户名,然后调用UserManager类以使用用户名获取用户对象,然后使用电子邮件属性-

UserManager.FindById(User.Identity.GetUserId()); 
将电子邮件放入ViewBag中,例如:ViewBag.email=user.email


从MVC 5开始,请在view@ViewBag.Email中读取该值。这是您如何基于此进行操作的,因此:


从MVC 5开始,这就是基于此的实现方式,因此:


如果您确实使用标识模型,只需在视图中调用它:
@User.Identity.GetUserName()

如果您确实使用Identity模型,只需在视图中调用它即可: @User.Identity.GetUserName()

如果您的应用程序中有一个“电子邮件”字段,则您可以访问它,而无需从声明中获取查询,例如在控制器中,您可以:

this.User.GetClaimValue("email")
如果您的应用程序用户中有“电子邮件”存档,则无需从索赔中获取查询即可访问它,例如,在控制器中,您可以:

this.User.GetClaimValue("email")

你核对答案了吗?你还在遇到问题吗?你检查过答案了吗?你还在遇到问题吗?不知道为什么,但在我的例子中,Findbyid给出的是null。我想你在那边叫名字。你应该把身份证交出来there@HeemanshuBhalla这取决于您的用户id,通常您有一个id(GUID),但不知道为什么,但在我的例子中,Findbyid给出的是null。我想你在那边叫名字。你应该把身份证交出来there@HeemanshuBhalla它取决于您的用户id,通常您有一个id(GUID)