2012-04-03 71 views
0

我有viewmodel,我綁定我的視圖調用「EditProfile」。現在,一旦用戶點擊菜單欄上的「EditProfile」鏈接,我會通過調用get restful service來加載所有配置文件信息,並且用戶可以看到他/她的配置文件。如何查找屬性未修改或更改?

用戶可以更改他們想要的任何字段,但我只想發佈由用戶更改的字段。

我知道如何比較兩個屬性,但不知道如何只從視圖模型中提取修改過的屬性。以前有沒有人來過這種情況?在我的視圖模型

屬性是:

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

回答

1

在過去,我實現INotifyPropertyChanged的視圖模型。我記錄了在PropertyChanged事件觸發後哪些屬性發生了變化。

+0

您是否具有此方案的代碼示例,就像您之前所做的那樣? – updev 2012-04-03 21:29:09

0

爲什麼不採取其他方法 - 發佈所有內容(因此模型可用),並且只需在對象上具有足夠智能的「IsDirty」屬性,以便僅向數據庫提交更改(如實體框架默認情況下那樣)

您可以簡單地形成自己的jQuery .post()參數,但除非您有大量數據 - 爲什麼?它使得難以閱讀視圖模型(你怎麼知道什麼是在什麼情況下發布的),所以典型的方法是發佈單獨的視圖模型或張貼我認爲基本形式更容易的所有內容。