我很好奇如何执行以下操作。我有一个主要视图,其中包含有关支持案例的父数据。我还将使用部分视图显示 MTM 数据的子列表。我已经构建了一个 ViewModel 来为部分视图提供所需的数据。
这是我的视图模型:
public class CaseComplaintsViewModel
{
public string ComplaintCode { get; set; }
public string ComplaintType { get; set; }
}
ViewModel 基于来自以下两个领域模型的数据:
public class CaseComplaint
{
[Key]
public int CaseComplaintID { get; set; }
public int CasesID { get; set; }
public int ComplaintCodeID { get; set; }
public virtual Cases Cases { get; set; }
public virtual ComplaintCode ComplaintCode { get; set; }
}
public class ComplaintCode
{
public int ComplaintCodeID { get; set; }
[MaxLength(50)]
[Required(ErrorMessage="Complaint Code is required")]
public string ComplaintCodeName { get; set; }
[MaxLength(50)]
[Required(ErrorMessage="Complaint Type is required")]
public string ComplaintType { get; set; }
public virtual ICollection<CaseComplaint> CaseComplaint { get; set; }
}
很简单。
这是部分视图。
@model IEnumerable<cummins_db.ViewModels.CaseComplaintsViewModel>
<table width="100%">
<tr>
<th>Complaint Code</th>
<th>Complaint Description</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.ComplaintCode )
</td>
<td>
@Html.DisplayFor(modelItem => item.ComplaintType)
</td>
</tr>
}
</table>
这个局部视图将在我的主要案例视图中使用。我还将使用 ajax 定期刷新这个局部视图。
所以我的问题是,当我的主要案例视图打开时,如何将正确的数据放入视图中?部分视图需要它自己的控制器还是我在 Cases 控制器中处理它?