2010-12-10 100 views
0

我有一个网页的窗体和一个按钮。按下它插入/更新数据到sql server.The按钮被禁用,一旦它点击。它工作正常时测试。但在生产有时会插入DATA两次。我不确定它为什么这样做。请让我知道最新的错误?Asp.net数据插入到sqlserver

问候, 拉维

+0

我有一辆车,当我踩刹车时它会刹车。有时它会刹车快。请让我知道有什么问题? – Andrey 2010-12-10 21:11:55

+0

对不起,不能保留:)你能否提供一些细节? – Andrey 2010-12-10 21:12:19

+0

大声笑..对不起,我的英语 – SRK 2010-12-10 21:23:48

回答

0

某人在表单提交时很容易就能打F5。更糟糕的是 - 如果你在提交后没有重定向 - 在表单完成提交之后,某人可以击中F5。

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

0

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

此外,它可以是双击发送请求插入数据的按钮的结果。也许你需要检查是否已经有需要插入的数据。

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

最好的问候, 迪马。

+0

是的,这就是我现在正在做的... thanx – SRK 2010-12-10 22:08:49