我正在编写一个C#MVC5互联网应用程序,但在我创建的控制器中获取ApplicationUser
对象时遇到了一些麻烦。
这是我的代码:
var userManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserId()).Result;
当我尝试运行此代码时,当用户登录时,我将为ApplicationUser
用户获取一个空对象。
我可以请一点帮忙吗?
提前致谢
答案 0 :(得分:3)
FindByNameAsync()
需要用户名,但您传递的是用户ID。通过用户名...
ApplicationUser user = userManager.FindByNameAsync(User.Identity.GetUserName()).Result;
或使用FindByIdAsync()
方法......
ApplicationUser user = userManager.FindByIdAsync(User.Identity.GetUserId()).Result;