0

我有视图模型,我正在绑定我的视图调用“EditProfile”。现在,一旦用户单击菜单栏中的“EditProfile”链接,我通过调用 get restful 服务加载所有配置文件信息,用户可以看到他/她的配置文件。

用户可以更改他们想要的任何字段,但我只想发布用户更改的字段。

我知道如何比较两个属性,但不知道如何从视图模型中只提取修改后的属性。以前有人遇到过这种情况吗?

我的视图模型中的属性是:

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

2 回答 2

1

过去我INotifyPropertyChanged为 ViewModel 实现过。我记录了在 PropertyChanged 事件触发后哪个属性发生了变化。

于 2012-04-03T19:52:52.860 回答
0

为什么不采取另一种方法 - 发布所有内容(以便模型可用)并在您的对象上简单地具有“IsDirty”属性,这些属性足够聪明,可以只提交对数据库的更改(就像实体框架默认情况下所做的那样)

您可以简单地形成自己的 jQuery .post() 参数,但除非您有大量数据 - 为什么?它使视图模型难以阅读(您怎么知道在什么场景下发布了什么),因此典型的方法是发布单独的视图模型或发布我认为基本表单更容易的所有内容。

于 2012-04-03T20:20:34.187 回答