【问题标题】:Why Data manipulation occur when refresh the page in Asp.net为什么在 Asp.net 中刷新页面时会发生数据操作
【发布时间】:2009-06-18 07:12:43
【问题描述】:

为什么在 Asp.net 中刷新页面时会发生数据操作

如果我按下 f5 或浏览器刷新,提交按钮以将数据插入数据库表后,然后再次插入重复数据,为什么它保持文本框值并且没有单击提交按钮它被触发......? 提供解决方案…………

在此先感谢.......

【问题讨论】:

    标签: c# asp.net


    【解决方案1】:

    听起来您应该在用户提交表单后重定向用户。只需一个简单的 Response.Redirect 即可。

    【讨论】:

    • 您好,亲爱的,感谢您的回复,但我正在寻找更紧凑的结果,因为它耗时 11 秒。再次感谢您的回复.....
    【解决方案2】:

    在 IE 中,当您按下 F5 时,它会尝试执行最后执行的命令。在您的情况下,它是 POST,因此再次发生相同的选项。你可以用不同的方式处理这个问题。

    1. 在数据库中完成更新后。向用户显示确认消息,以便他/她试用 F5
    2. 尝试保留一个保持操作状态的隐藏字段。 (第一次隐藏字段的值为 New,一旦发生插入,它就有插入记录的 ID。)
    3. 可以尝试在客户端处理,防止F5双发。

    【讨论】:

    • 您好,亲爱的,感谢您的回复。请用示例详细解释所有方法,感谢一个....对不起,我是asp.net c#的新手,再次询问bcoz,感谢您的回复.......
    【解决方案3】:

    这实际上与任何特定的网络技术没有任何关系。当您第一次显示表单时,创建一个带有随机值的隐藏字段。称它为“transactionID”之类的东西。当用户单击“提交”时,检查该随机值是否已被使用。如果没有,请处理表格。如果是,请返回“您已提交此表单”或类似内容。

    【讨论】:

      猜你喜欢
      • 2013-07-23
      • 2010-10-07
      • 1970-01-01
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 2021-11-25
      • 1970-01-01
      相关资源
      最近更新 更多