我无法理解如何在Asp.net MVC中实现ViewModel,我有以下表格:
ID,数据
ID,FormID,所有者,类别,状态,SubmissionDate
ID,ReportID,标题,值
我正在寻找一种在一个ViewModel中显示和编辑Report和ReportValues的方法,其中ReportValues.ReportID = Report.ID
ReportValues将有多个与报告相关的条目。
我在这里看过类似的问题并尝试按照教程(http://techfunda.com/howto/262/list-data-using-viewmodel)进行空手而归。
如果您需要更多信息,请通知我,并提前感谢任何回复!
答案 0 :(得分:0)
您的视图模型只不过是一个类。你可以用很多方法解决这个问题,但这是一个例子。
像往常一样创建3个类。
public class Form
{
public int Id { get; set; }
public string Data { get; set; }
}
public class ReportValues
{
public int Id { get; set; }
public int ReportId { get; set; }
public string Title { get; set; }
public string Value { get; set; }
}
public class Report
{
public int Id { get; set; }
public int FormId { get; set; }
public string Owner { get; set; }
public string Category { get; set; }
public string Status { get; set; }
public DateTime SubmissionDate { get; set; }
}
然后,创建您的ViewModel类以包含上述三个类。
public class ReportViewModel
{
public Form Form { get; set; }
public ReportValues ReportValues { get; set; }
public Report Report { get; set; }
}
在您的视图中,您可以像在控制器中一样访问三个类及其属性。 Model.Form.Id
根据您的数据类型,ReportValues
可能是Report
的属性,但这完全取决于您的数据结构。您需要使用您想要的任何方法(实体框架,ADO等)填充类,然后才能将它们传递给视图并使用它们。