在我的asp mvc视图中使用什么模型

时间:2014-01-29 09:39:24

标签: asp.net asp.net-mvc entity-framework asp.net-authentication

我正在尝试生成系统中所有用户的列表。我使用的是默认的内置身份验证。

这是我的身份模型类:

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]'。

3 个答案:

答案 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>