2012-04-03 20 views
0

私は私のビュー呼び出し "EditProfile"でバインドしているviewmodelを持っています。ユーザーがメニューバーから "EditProfile"リンクをクリックすると、私はすべてのプロファイル情報を読み込み、安静なサービスを呼び出すと、ユーザーは彼/彼女のプロフィールを見ることができます。プロパティの変更方法や変更方法はありませんか?

ユーザーは任意のフィールドを変更できますが、ユーザーによって変更されたフィールドのみを投稿したいとします。

私は2つのプロパティを比較する方法を知っていますが、変更されたプロパティのみをviewmodelから取得する方法はわかりません。誰かがこの状況に前に到着したことがありますか?私のviewmodelで

プロパティは以下のとおりです。過去に

public class UserViewModel 
{ 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Email { get; set; } 
    public string Profession { get; set; } 
} 

答えて

1

私はViewModelにのためINotifyPropertyChangedを実施しました。そして、PropertyChangedイベントが発生した後に変更されたプロパティを記録しました。

+0

このシナリオのコードサンプルは以前と同じですか? – updev

0

エンティティフレームワークがデフォルトで行うように、データベースへの変更だけを送信できるほどスマートなオブジェクトには、すべてを投稿して(モデルが利用できるように)オブジェクトに「IsDirty」プロパティを持たせてみてください。

jQueryの.post()パラメータを単純に作成することはできますが、大量のデータがない限り、なぜですか?ビューモデルの読み込みが難しくなります(どのようなシナリオでどのようなものが表示されるか)。典型的なアプローチは、別のビューモデルを投稿することです。

関連する問題