Asp.net数据插入到sqlserver中

时间:2010-12-10 21:10:03

标签: asp.net

我有一个带有表单和按钮的网页。点击按钮,它将数据插入/更新到sql server。点击后按钮被禁用。测试时它工作正常。但是在生产中有时它会插入DATA两次。我不确定为什么会这样做。请让我知道哪里出错了?

此致 拉维

3 个答案:

答案 0 :(得分:0)

拉维,你可能会两次打电话给你的例程。你看过那个吗?

使用此:

http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=asp.net+inserts+data+twice

搜索无意犯罪。我只是介绍它,因为很多人似乎都经历过这种情况,在仔细检查你的代码后你应该得到一个好的答案。

如果您想要更具体的答案,您需要填写插入代码或告诉您如何执行此操作。

答案 1 :(得分:0)

当你的表单提交时,有人可以轻松地点击F5。更糟糕的是 - 如果您在提交后没有重定向 - 有人可以在您的表单完成提交后点击F5。

解决这个问题的一种方法是在表单中添加一个guid标记(每次表单加载时都会生成新标记)。在POST上,您将该令牌存储在您插入的表中。在此之前,您显然检查您的表已发布令牌已存在于那里,如果存在 - 更新您的记录而不是插入新记录,或只是重定向到结果页面。

答案 2 :(得分:0)

尝试使用Post-Redirect-Get模式,解决了插入两次数据的问题。如果浏览器向服务器发送post请求以进行更新/插入/修改操作,然后在执行这些操作后返回响应,则按f5按钮会再次将您之前的请求发送到服务器并再次执行操作。

也可以是双击发送插入数据请求的按钮的结果。也许您需要检查是否已经存在需要插入的数据。

希望你能找到问题的答案。

祝你好运, 迪马。