如何在ASP.NET MVC 3 Razor中实现多形式验证?

时间:2012-10-04 06:43:55

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

我有3张桌子:

  

TableMaster< - TableDetails1(One-Many关系)
  TableMaster< - TableDetails2

如何使用ASP.NET MVC 3 Razor在单个页面上实现此功能? 我想我应该对每个表单使用多表单和验证,但我不知道该怎么做。

2 个答案:

答案 0 :(得分:0)

您不需要多个表单。对不起,如果我误解了你的问题

@model TableMaster

@using (Html.BeginForm())
{

    @Html.TextBoxFor(model => model.Name)

    @foreach(int i = 0; i < Model.TableDetails1.Count; i++)
    {
        @Html.TextBoxFor(model => Model.TableDetails1[i].Name)
    }
}

答案 1 :(得分:0)

请你更具体一点吗?

如果您只是收集数据,并且只提交整个表单一次,请使用以下模型:

public class MyBigForm
{
   public MyForm1 Form1 { get; set; }
   public MyForm2 Form2 { get; set; }
   public MyForm3 Form3 { get; set; }
}

每个类(MyForm1-3)都可以拥有自己的验证。


但是如果您使用Ajax或somethig来加载详细信息表单,则在MVC中不可能一次性验证所有表单。然后,您必须将自定义jquery验证写入ajax响应(在数据接收之后),然后再写入Controller。