一个MVC表单上的多个源父子元素

时间:2012-08-07 21:44:49

标签: asp.net-mvc-3 c#-4.0

我终于有机会更新一个最初用ColdFusion编写的非常旧的Web应用程序(大约1997年)。我可以使用现代技术和技术重写整个应用程序。我有一个例外构建的所有功能,即主数据输入页面。我有一个相当标准的表,有PK和4个字段,其中2个是其他表的外键,第3个是实际数据,第4个是布尔标志。问题是2个表是父子类型查找,它们具有另一个将记录“分组”在一起的表。旧应用程序首先从分组表中选择,然后开始构建表单,从第二个表中选择与第一个表记录对应的值,然后从第三个表中选择与第二个表对应的那些记录,冲洗并重复直到所有“组”都已在表单上生成。然后,所有这些“动态”表单元素将用于使用表单上每个元素的记录填充主表。我的问题是如何开始使用C#MVC构建与此类似的表单?我无法对数据库进行太多更改,我们有数百个依赖于数据的报告,而且我们没有资金去更改它们所以我在那里受到限制。如果有人有类似问题的建议或链接,那将会很有帮助。我做了搜索,我看到了许多父子类型解决方案的例子,但没有什么比我正在看的那样。

快照相关的表格结构:

  

显然新用户无法发布图片

我的课程:

public class Samples
{
    [Key]
    public int SampleID { get; set; }

    [ForeignKey("SampleNameId")]
    public int SampleNameID { get; set; }
    public virtual SampleNames SampleNameId { get; set; }

    [ForeignKey("SubSampleId")]
    public int SampleSubID { get; set; }
    public virtual SampleSubProc SubSampleId { get; set; }

    public string SampleValue { get; set; }
}

public class SampleGroups
{
    [Key]
    public int SampleGroupID { get; set; }
    public string SampleGroupName { get; set; }

}

public class SampleNames
{
    [Key]
    public int SampleNameID { get; set; }

    [ForeignKey("SampleGroupId")]
    public int SampleGroupID { get; set; }
    public virtual SampleGroups SampleGroupId { get; set; }

    public string SampleName { get; set; }

}

public class SampleSubProc
{
    [Key]
    public int SampleSubID { get; set; }

    [ForeignKey("SampleNameId")]
    public int SampleNameID { get; set; }
    public virtual SampleNames SampleNameId { get; set; }

    public string SampleSubName { get; set; }
}

所以旧的应用程序从SampleGroups开始,然后当它循环遍历它们时,它根据SampleGroupID从SampleNames中选择,因为它通过SampleName从基于SampleNameID的SampleSubProc中选择的SampleName循环,构建基于相关的id。

有人会如何使用MVC来解决这个问题?我们如何构建控制器以及视图需要做什么?

0 个答案:

没有答案