Asp.net mvc 3 不包含';idcriteria';

Asp.net mvc 3 不包含';idcriteria';,asp.net-mvc-3,linq-to-sql,Asp.net Mvc 3,Linq To Sql,我在:RolesMVC3.Area.Asesor.Models.ListNotesViewModel中有一个视图模型 详情如下: public class ListNotesViewModel { public decimal IdTime { get; set; } public decimal IdArea { get; set; } public decimal IdCriterion { get; set; }

我在:RolesMVC3.Area.Asesor.Models.ListNotesViewModel中有一个视图模型

详情如下:

public class ListNotesViewModel
    {
           public decimal IdTime { get; set; }

           public decimal IdArea { get; set; }

           public decimal IdCriterion { get; set; }

           public decimal Notes { get; set; }

           public decimal IdEstudent { get; set; }
    }
我有一个使用此ViewModel的控制器

详情如下:

public ActionResult EstudentsQualification()
   {

    var newItems = (from n in db.Qualification
                    join a in db.AREA on n.IdArea equals a.IdArea
                    join e in db.ESTUDENT on n.IdEstudent equals e.IdEstudent
                    join p in db.TIME on n.IdTime equals p.IdTime
                    join c in db.CRITERION on n.IdCriterion equals c.IdCriterion
                    where n.IdArea == 1 
                    select new ListNotesViewModel { IdCriterion = c.IdCriterion, IdTime = p.IdTime, Notes=n.Note, IdEstudent==e.IdEstudent }).ToList();



     var estu = (from n in db.Qualification
                 join e in db.ESTUDENT on n.IdEstudent equals e.IdEstudent
                 where n.IdArea == 1
                 select e).Distinct().ToList();

     ViewBag.Estudents = estu;
     ViewBag.Time = db.TIME;
     ViewBag.Criterion = db.CRITERION;
     ViewBag.Notes = newItems;

     return View();
 }
关联的视图是:

@{
    ViewBag.Title = "Index";
}

<table border="1">

@foreach (var item4 in ViewBag.Estudents)
{
    <tr>
        <td>
             @item4.CodEstudents - @item4.NameEstudents 
        </td>
         @foreach (var item2 in ViewBag.Time)
         {
             foreach (var item3 in ViewBag.Criterion)
             {
                <td>

                 @if (ViewBag.Notes.IdCriterion == item3.IdCriterion && ViewBag.Notes.IdTime == item2.IdTime && ViewBag.Notes.IdEstudent == item4.IdEstudent)
                 {
                     @ViewBag.Notes.Note 
                 }
                 else
                 {
                     @:nothing
                 }    
               </td>                                                                                                                                                                       

             }
         }

    </tr>
}

</table>
@{
ViewBag.Title=“Index”;
}
@foreach(ViewBag.Estudents中的变量项4)
{
@item4.CodEstudents-@item4.NameStudents
@foreach(ViewBag.Time中的变量项2)
{
foreach(ViewBag.Criteria中的变量项3)
{
@if(ViewBag.Notes.idcriteria==item3.idcriteria&&ViewBag.Notes.IdTime==item2.IdTime&&ViewBag.Notes.IdEstudent==item4.IdEstudent)
{
@ViewBag.Notes.Note
}
其他的
{
@:没什么
}    
}
}
}
我得到以下错误:

'System.Collections.Generic.List<RolesMVC3.Area.Asesor.Models.ListNotesViewModel>' does not contain a definition for 'IdCriterion'
“System.Collections.Generic.List”不包含“idCriteria”的定义

我想不出问题出在哪里。

认为是这一行造成的
ViewBag.Notes.idcriteria

@if (ViewBag.Notes.IdCriterion == item3.IdCriterion && ViewBag.Notes.IdTime == item2.IdTime && ViewBag.Notes.IdEstudent == item4.IdEstudent)

ViewBag.Notes
Note
的集合。您需要访问
Notes
中的项目,例如
ViewBag.Notes[0].idCriteria
ViewBag.Notes[i].idCriteria
foreach(ViewBag.Notes中的noteItem)

您可能需要问另一个问题,因为您当前的问题没有描述您试图做什么