0

我正在编写一个 C# MVC5 互联网应用程序,ApplicationUser在我创建的控制器中获取对象时遇到了一些麻烦。

这是我的代码:

var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserId()).Result;

当我尝试运行此代码时,当用户登录时,我会为ApplicationUser用户获取一个空对象。

我可以帮忙吗?

提前致谢

4

1 回答 1

3

FindByNameAsync()需要一个用户名,但您传递的是用户 ID。要么传递用户名...

ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserName()).Result;

或者使用FindByIdAsync()方法...

ApplicationUser user = userManager.FindByIdAsync(User.Identity.GetUserId()).Result;
于 2014-07-13T05:56:25.897 回答