Viewmodel设置了Aspt.net MVC 6

时间:2016-03-31 18:33:55

标签: asp.net-mvc asp.net-mvc-viewmodel

我无法理解如何在Asp.net MVC中实现ViewModel,我有以下表格:

表格

ID,数据

报告

ID,FormID,所有者,类别,状态,SubmissionDate

ReportValues

ID,ReportID,标题,值

我正在寻找一种在一个ViewModel中显示和编辑Report和ReportValues的方法,其中ReportValues.ReportID = Report.ID

ReportValues将有多个与报告相关的条目。

我在这里看过类似的问题并尝试按照教程(http://techfunda.com/howto/262/list-data-using-viewmodel)进行空手而归。

如果您需要更多信息,请通知我,并提前感谢任何回复!

1 个答案:

答案 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等)填充类,然后才能将它们传递给视图并使用它们。