如何在视图中检查我的模型是否已更改

本文关键字:是否 模型 我的 检查 视图 | 更新日期: 2023-09-27 18:30:09

我正在尝试更新项目列表。但我只想更新视图中已更改的项目。

现在,在我的控制器上,我有这个代码

foreach ( var item in items )
{
   update(item);
}

但我需要像一样的东西

foreach ( var item in items )
{
    if(ItemHasChanged(item))
    {
       update(item);
    }
}

我需要这个,因为我不想做任何不必要的更新,这对性能有好处。此外,我不想往返数据库以检查项目是否已更改。

如果项目已更改,是否可以检查视图

我使用的是asp.net mvc 4…

如何在视图中检查我的模型是否已更改

下面的jQuery将完成这项工作。当视图中的任何输入字段发生更改时,将触发此功能。

$('form :input').on('change input', function () {
    alert('changed'); //Your code..        
});

也许您可以在将模型发送到视图之前缓存它。

HttpContext.Current.Session["OldModel"]=yourModel;

然后将POST操作中得到的模型与缓存的模型进行比较。

如果你决定使用JavaScript,我认为你应该考虑到用户可以修改或禁用浏览器上的JavaScript。