我无法获得登录用户(ApplicationUser)。在MVC 5我用这个方法:ApplicationUser appUser = await new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(db)).FindByIdAsync(User.GetUserId())
。在MVC 6中,UserManager
构造函数具有更多参数。因此该方法不起作用,因为它给出了以下错误消息:“没有给定的参数对应于所需的形式参数”。
如何获得登录用户?
我相信您可以UserManager
通过依赖项注入来获取代码,例如在Identity repo中参见此代码。我在这里粘贴:
public class ManageController : Controller
{
private readonly UserManager<ApplicationUser> _userManager;
private readonly SignInManager<ApplicationUser> _signInManager;
public ManageController(
UserManager<ApplicationUser> userManager,
SignInManager<ApplicationUser> signInManager)
{
_userManager = userManager;
_signInManager = signInManager;
}
}
如果要在视图中获取它,请使用 @inject UserManager<ApplicationUser> userManager
依赖注入在MVC 6中无处不在(我认为它已重命名为ASP.NET Core MVC?)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句