Asp.net mvc 4 无法将数据表值分配给类列表

Asp.net mvc 4 无法将数据表值分配给类列表,asp.net-mvc-4,Asp.net Mvc 4,这是我的模型: public class Category { public Category() { SubCategory = new List<SubCategory>(); TicketsInfo = new List<TicketInfo>(); UserDetails = new List<UserDetails>();

这是我的模型:

public class Category
    {
        public Category()
        {
            SubCategory = new List<SubCategory>();
            TicketsInfo = new List<TicketInfo>();
            UserDetails = new List<UserDetails>();
        }

        [Key]
        public int CategoryId { get; set; }
        public string Name { get; set; }


        public List<SubCategory> SubCategory { get; set; } //subcategory is my another class
        public List<TicketInfo> TicketsInfo { get; set; }//ticketinfo is my another class
        public List<UserDetails> UserDetails { get; set; }//userdetails is my another class
    }
索引超出范围。必须为非负数且小于集合的大小。 参数名称:索引

我的数据表中有两条记录


有人能找出问题所在吗?

您必须在此处指定列:

 categoryModel.TicketsInfo[i].TicketId =(int)categoryDetailsforTickets.Rows[i][0];   

尝试将datatable迭代为:-

foreach (DataRow row in categoryDetailsforTickets.Rows) // Loop over the rows.
{
  categoryModel.TicketsInfo[i].TicketId =(int)row["coloumnname"];
  ........
}

@priyankavashi..不要使用ItemArray只需尝试上面的代码A我已经尝试了你的两种解决方案bt它仍然抛出相同的代码error@priyankavashi..just在你们的数据集中看到columnname,在第二个答案中用columnname代替columnname。我也遇到过同样的问题。我想问题是different@priyankavashi...very奇怪,它也一样错误
 categoryModel.TicketsInfo[i].TicketId =(int)categoryDetailsforTickets.Rows[i][0];   
categoryModel.TicketsInfo[i].TicketId =(int)categoryDetailsforTickets.Rows[i]["coloumnname"];
foreach (DataRow row in categoryDetailsforTickets.Rows) // Loop over the rows.
{
  categoryModel.TicketsInfo[i].TicketId =(int)row["coloumnname"];
  ........
}