1

我有 3 张桌子:

TableMaster <-- TableDetails1(一对多关系)
TableMaster <-- TableDetails2

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

4

2 回答 2

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)
    }
}
于 2012-10-04T06:49:56.317 回答
0

你能更具体一点吗?

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

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

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


但是,如果您使用 Ajax 或其他东西来加载详细表单,那么在 MVC 中不可能一次验证所有表单。然后,您必须将自定义 jquery 验证写入 ajax 响应(接收数据后),然后写入 Controller。

于 2012-10-04T06:59:05.593 回答