错误 - 使用泛型类型AspNet.Identity.usermanager <tuser>需要一种类型的参数?</tuser>

时间:2014-12-10 18:13:09

标签: c# asp.net .net asp.net-mvc-4 asp.net-identity

尝试使用UserManager.CreateAsync(user,reg.password)代码时出现此错误。请帮忙。 还有一件事我安装了aspnet.identity.core软件包。但我无法参考它。当我尝试使用使用我无法找到它时参考它。

        if (ModelState.IsValid)
        {
            var user = new ApplicationUser() { UserName = reg.username };
            var result = await UserManager.CreateAsync(user, reg.password);
              if (result.Succeeded)
            {
                await SignInAsync(user, isPersistent: false);
                return RedirectToAction("Index", "Account");
            }
            else
            {
                AddErrors(result);
            }

1 个答案:

答案 0 :(得分:4)

这里的问题是您的代码试图直接在CreateAsync()类上调用UserManager<TUser>,而.CreateAsync()需要在实例上调用UserManager<TUser>

在Identity包提供的样板代码中,这是通过AccountController中定义的属性完成的:

public ApplicationUserManager UserManager
{
    get
    {
        return _userManager ?? HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
    }
    private set
    {
        _userManager = value;
    }
}

您的控制器中是否有这样的属性?