我有一個網頁的窗體和一個按鈕。按下它插入/更新數據到sql server.The按鈕被禁用,一旦它點擊。它工作正常時測試。但在生產有時會插入DATA兩次。我不確定它爲什麼這樣做。請讓我知道最新的錯誤?Asp.net數據插入到sqlserver
問候, 拉維
我有一個網頁的窗體和一個按鈕。按下它插入/更新數據到sql server.The按鈕被禁用,一旦它點擊。它工作正常時測試。但在生產有時會插入DATA兩次。我不確定它爲什麼這樣做。請讓我知道最新的錯誤?Asp.net數據插入到sqlserver
問候, 拉維
某人在表單提交時很容易就能打F5。更糟糕的是 - 如果你在提交後沒有重定向 - 在表單完成提交之後,某人可以擊中F5。
解決此問題的一種方法是向表單中添加一個guid標記(每當表單加載時都會生成新的標記)。在POST上,您將該標記存儲在您插入東西的表中。在此之前,你顯然會檢查你的表是否已經存在發佈的令牌,如果有的話 - 更新你的記錄而不是插入新的記錄,或者直接重定向到結果頁面。
拉維,你可以進行兩次調用你的程序。你看過嗎?
使用此:
http://www.google.com/search?sourceid=chrome&ie=UTF-8&q=asp.net+inserts+data+twice
沒有進攻由搜索意圖。我只是介紹它,因爲很多人似乎都經歷過這樣的情況,仔細檢查代碼後應該得到一個很好的答案。
你需要把插入代碼或告訴你如何做,如果你想要一個更具體的答案。
嘗試使用Post-Redirect-Get模式,該模式解決了插入一些數據兩次的問題。如果瀏覽器向服務器發送更新/插入/修改操作的發佈請求,然後在這些操作之後返回響應,則點擊f5按鈕再次將您先前的請求發送到服務器,並再次執行操作。
此外,它可以是雙擊發送請求插入數據的按鈕的結果。也許你需要檢查是否已經有需要插入的數據。
希望你會找到你的問題的答案。
最好的問候, 迪馬。
是的,這就是我現在正在做的... thanx – SRK 2010-12-10 22:08:49
我有一輛車,當我踩剎車時它會剎車。有時它會剎車快。請讓我知道有什麼問題? – Andrey 2010-12-10 21:11:55
對不起,不能保留:)你能否提供一些細節? – Andrey 2010-12-10 21:12:19
大聲笑..對不起,我的英語 – SRK 2010-12-10 21:23:48