【发布时间】:2009-06-18 07:12:43
【问题描述】:
为什么在 Asp.net 中刷新页面时会发生数据操作
如果我按下 f5 或浏览器刷新,提交按钮以将数据插入数据库表后,然后再次插入重复数据,为什么它保持文本框值并且没有单击提交按钮它被触发......? 提供解决方案…………
在此先感谢.......
【问题讨论】:
为什么在 Asp.net 中刷新页面时会发生数据操作
如果我按下 f5 或浏览器刷新,提交按钮以将数据插入数据库表后,然后再次插入重复数据,为什么它保持文本框值并且没有单击提交按钮它被触发......? 提供解决方案…………
在此先感谢.......
【问题讨论】:
听起来您应该在用户提交表单后重定向用户。只需一个简单的 Response.Redirect 即可。
【讨论】:
在 IE 中,当您按下 F5 时,它会尝试执行最后执行的命令。在您的情况下,它是 POST,因此再次发生相同的选项。你可以用不同的方式处理这个问题。
【讨论】:
这实际上与任何特定的网络技术没有任何关系。当您第一次显示表单时,创建一个带有随机值的隐藏字段。称它为“transactionID”之类的东西。当用户单击“提交”时,检查该随机值是否已被使用。如果没有,请处理表格。如果是,请返回“您已提交此表单”或类似内容。
【讨论】: