如何检查任何表单字段数据是否被更改

how to check that any form field data is changed or not?

本文关键字:数据 字段 是否 表单 任何 何检查 检查      更新时间:2023-09-26

当客户登录时,我正在这个应用程序中的asp.net web应用程序上工作,然后他/她的

个人详细信息显示在表单字段中(例如姓名框中的全名,年龄框中的年龄等),用于获取数据,首先我从ms sql中获取数据,然后将它们分配给 iccustomer 接口属性,该接口由客户类实现。

我们也有一个客户信息页面上的更新按钮,所以如果没有改变任何信息,如果用户点击更新,那么不必要的,它会去服务器,回来,并在数据库中更新相同的数据,所以我要做的是检测是否有东西改变了客户的形式,那么只有更新功能应该工作。

我有两个选择

  1. 只是使用Java脚本和检测文本更改,然后无法更新按钮。
  2. 创建iccustomer的临时引用,并将其与旧的引用进行比较,然后通过设置true或false进行处理。

所以请告诉我最好的方法或任何其他方法。

如果问题不清楚,请评论,我将解释更多

如果你在asp.net网页中使用formview或detailsview控件,那么你可以使用表单的itemupdate事件的OldValues属性在发送到数据库之前比较值。我认为必须启用表单的视图状态才能正常工作。

protected void myFormView_ItemUpdating(object sender, FormViewUpdateEventArgs e)
    {
        // Access the old values
        e.OldValues...

下面是一个使用detailsview的完整示例

JavaScript可能会帮助您,但它非常不可靠。我建议你选第二个。将ICustomer对象存储在Session变量中,并将其与新对象进行比较。

如果您使用的是TextBox控件,一个选项是使用TextChanged事件来检测更改

如果你的对象的大小不是很大,你应该去第二个选项,因为你必须先存储旧对象,然后再比较iccustomer的新对象,以检测任何变化。否则,使用javascript来检测文本字段的变化。

Javascript选项的主要问题是,如果用户更改值并再次更改到之前的状态,在这种情况下,它也会显示更改的值。