【问题标题】:How to know if a List<Object> is modified or an item changed?如何知道 List<Object> 是否已修改或项目已更改?
【发布时间】:2015-01-22 13:09:58
【问题描述】:

我有一个List&lt;&gt;,其中填充了数据库的数据,之后激活了gridview 的事件。然后可以修改、更改或删除列表中的项目。

然后我想知道如何确定这个或多个项目是否在不进入数据库的情况下被更改,如果可能的话?

aspx 页面中的数据在 Gridview 中。

【问题讨论】:

  • 您的意思是基础数据库记录是否已更改,或者列表中的项目是否已更改?
  • 为什么不存储 2 个相同的列表开始,然后在您认为其中一个已更改后比较两者
  • 如果您通过 GridView 进行更改,您可以实现 Gridview 的一些事件并在那里编写一些代码来记录您所做的更改,例如。
  • 如果一行发生变化,控件应该引发事件:msdn.microsoft.com/en-us/library/…
  • 我想你可能想看看ObservableCollection 或自己实现INotifyPropertyChanged。如果我们没有代码可看,就很难得出正确的答案。

标签: c# asp.net list generics


【解决方案1】:

使用 SQL Server,您可以使用 SqlDependency 来获得对最初检索到的数据的任何更改的通知。请注意,关联的 SqlCommand 有一些限制(例如,单个语句、没有 LEFT JOIN 等)。 SqlDependency 是通过 QueryNotifications 和 Service Broker 实现的,因此 SQL Server 数据库必须启用 Service Broker。

https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldependency(v=vs.110).aspx

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    • 2010-12-08
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 2015-03-28
    相关资源
    最近更新 更多