我正在尝试生成系统中所有用户的列表。我使用的是默认的内置身份验证。
这是我的身份模型类:
public class ApplicationUser : IdentityUser
{
[Required]
[MaxLength(50)]
public string email { get; set; }
[Required]
[StringLength(11, MinimumLength = 11)]
public string cellNo { get; set; }
[Required]
[MaxLength(50), MinLengthAttribute(3)]
public string firstName { get; set; }
[Required]
[MaxLength(50), MinLengthAttribute(3)]
public string lastName { get; set; }
public DateTime birthdate { get; set; }
}
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext()
: base("AuthenticationConnection")
{
}
}
现在我创建了一个名为users的控制器:
public class UsersController : Controller
{
private User_Manager_Interface.Models.ApplicationDbContext userDb = new User_Manager_Interface.Models.ApplicationDbContext();
// GET: /Users/
public ActionResult Index()
{
return View(userDb.Users.ToList());
}
}
1: 我在控制器中使用了正确的数据库上下文吗?
2:
我的视图中必须使用哪种型号?目前我有以下内容:
@model IEnumerable<User_Manager_Interface.Models.ApplicationDbContext>
但是当我运行它时它会给我一个错误:错误如下:
传递到字典中的模型项是类型的 'System.Collections.Generic.List
1[User_Manager_Interface.Models.ApplicationUser]', but this dictionary requires a model item of type 'System.Collections.Generic.IEnumerable
1 [User_Manager_Interface.Models.ApplicationDbContext]'。
答案 0 :(得分:1)
您需要解析可以转换为模型的类型。
由于您返回List<User_Manager_Interface.Models.ApplicationUser>
,因此需要设置支持该模型的模型。
@model IList<User_Manager_Interface.Models.ApplicationUser>
@model IEnumerable<User_Manager_Interface.Models.ApplicationUser>
@model List<User_Manager_Interface.Models.ApplicationUser>
有很多可能性,但上述类型之一应该有效。
答案 1 :(得分:0)
在您的视图中尝试此操作
@model List<User_Manager_Interface.Models.ApplicationUser>
答案 2 :(得分:0)
您从控制器传递到ApplicationUser列表的视图。错误消息中提到的相同。因此,要处理视图中的用户列表,您应该使用适当的类型
@model IEnumerable<User_Manager_Interface.Models.ApplicationUser>