0

私はこのようなモデルクラスを持っています:

class Person {
   string FirstName, 
   string LastName,
   string ID
}

GETを介してモデルをブラウザーに送信する場合、匿名型を介して2つのフィールド(FirstName.ToString()+ LastName.ToString()など)の複合としてデータを送信します。

サーバーにPOSTを戻すと、問題が発生します。JSONはモデルとは異なるものとして返されるため、アクションメソッドが。を予期しているため、ModelState.IsValid()を介して無効として返されますList<Person> persons

1つのフィールドが原因でモデルが無効になっているため、ModelViewModel複製コードを作成したくありません。これを回避する方法はありますか?

4

1 に答える 1

0

この場合、ViewModelクラスにDataAnnotationsを追加し、モデルではなくViewModelを受け入れるようにアクションを変更します。

アクションに渡されるViewModelが有効であることを検証したら、複合フィールドを解析して、名前と名前に正しく戻すことができます。

于 2011-02-04T14:33:17.730 に答える