2012-10-08 66 views
0

的定义我有一个视图模型中:RolesMVC3.Area.Asesor.Models.ListNotesViewModel不包含“IdCriterion”

如下:

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; } 
    } 

我有一个使用此视图模型控制器。

如下:

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> 

我得到以下错误:

'System.Collections.Generic.List<RolesMVC3.Area.Asesor.Models.ListNotesViewModel>' does not contain a definition for 'IdCriterion' 

我想不出是什么问题。

回答

1

想到这行导致它ViewBag.Notes.IdCriterion

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

ViewBag.NotesNote的集合。您需要访问Notes中的项目,例如ViewBag.Notes[0].IdCriterionViewBag.Notes[i].IdCriterionforeach(noteItem in ViewBag.Notes)

+0

谢谢,但我该怎么做呢? – kalu

+0

您可能需要提出另一个问题,因为您目前的问题没有描述您尝试执行的操作 – codingbiz