【发布时间】:2012-01-16 17:25:09
【问题描述】:
我有一个 ASP.Net 表单,我想在用户更改数据时发送电子邮件。电子邮件应仅包含已更改的数据,总共大约有 15 个数据字段。
我不想使用 ORM,因为我正在更新一个第三方为我们构建的网站,他们所有的数据访问调用都通过他们的自定义库。
我能想到的唯一方法是
再次调用数据库以获取旧值并逐一比较表单值。如果它们不同,请附加到电子邮件中。
首次加载时将原始数据存储在某处(隐藏字段、会话等),然后再次一次比较一个字段的数据并将差异附加到电子邮件中
让 SO 上的人告诉我有一种更简单和/或更简单的方法,我没有想到
【问题讨论】:
-
只有你拥有的 asp 页面 - 还是你有权访问它们上使用的数据类?他们实现的 INotifyProperty 是否发生了变化?
-
@ChrisBD 该网站非常基础并且不遵循任何特定的设计模式。数据被拉入
Object或DataSet并手动应用于需要数据的任何控件。例如,txtFirstName = myDataSet.Tables(0).Rows(0)("FirstName")。这不是我喜欢的做事方法,但我不想重写整个网站,所以我会使用他们已经设置的内容。 -
@Rachel - 您希望电子邮件包含原始值和新值,还是只需要知道字段已 更改?
-
@M.Babcock 原始值和新值,以及字段名称