2010-12-10 72 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