3

次のようなドメイン オブジェクトがあるとします。

public class Person
{
   public string Name { get; set; }
   public IList<PhoneNumber> PhoneNumbers {get; set; }
   public IList<Address> Addresses { get; set; }
}

個人は、名前、電話番号、および住所が入力されるまで有効ではありません。ASP.NET MVC とフォームを使用してこれをどのように処理しますか...

個人をセッションにシリアル化し、名前の編集、電話番号の追加、住所の追加のための複数のビューを持つことができると考えていました.コントローラーアクションはセッション内の人を変更し、最終的な保存アクションはデータベースにプッシュします.

複数のビューを持ち、セッションを使用するのはあまり好きではありません。別のオプションは、保存アクションに投稿する前に、ブラウザー内で電話番号や住所を追加/削除するための要素の「動的」セクションを持つことができる単一の非常に複雑なフォームを持つことです。

複雑なオブジェクトを操作したり、フォームを介して編集したりしている人は何をしているでしょうか?

ありがとう!

4

1 に答える 1

2

私は通常、「動的セクション」ルートを使用します。

ただし、ユーザーが進行中の作業を保存できないほど厳密な検証は行いません。電話番号や住所などのリストは、入力にかなりの時間がかかる場合があります。インターネット接続などを失った場合に備えて、時々作業を保存できることは、エンド ユーザーにとって有益です。データ入力フォームが非常に大きい場合は、AJAX を介して時々レコードを自動的に保存することをお勧めします。(Gmail のように。) したがって、モデルでは、未完了の作業を時々保存し、「完了」した場合にのみ検証全体を実行できるようにする必要があります。

于 2009-01-13T21:39:48.167 に答える