1

私は3つのテーブルを持っています:

TableMaster <-- TableDetails1 (一対多関係)
TableMaster <-- TableDetails2

ASP.NET MVC 3 Razor を使用して単一のページにこれを実装するにはどうすればよいですか?
フォームごとにマルチフォームとバリデーションを使えばいいと思うのですが、やり方がわかりません。

4

2 に答える 2

0

もっと具体的にお願いできますか?

データを収集するだけで、フォーム全体が 1 回だけ送信される場合は、次のようなモデルを使用します。

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 に答える
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 に答える