我有3张桌子:
TableMaster< - TableDetails1(One-Many关系)
TableMaster< - TableDetails2
如何使用ASP.NET MVC 3 Razor在单个页面上实现此功能? 我想我应该对每个表单使用多表单和验证,但我不知道该怎么做。
答案 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。