2013-08-16 77 views
1

我有一個運行在工廠Intranet中的ASP.NET MVC3應用程序。工廠使用Internet Explorer,最終用戶有點不耐煩。在我向數據庫添加新對象的頁面中,資源管理器無法快速響應,用戶重新按下添加按鈕,因此同一個對象將被插入兩次。我正在想辦法阻止它。防止同一請求完成多次

我寫了一個腳本,使按鈕在按下後不可見,但我想使它不起作用。有沒有這樣一個JavaScript函數或服務器端實現,使提交按鈕不起作用?

回答

3

「不工作」客戶方:

我想說禁用

document.getElementById("btnAdd").disabled = true; 

不僅僅是使得它無形的多一點安全。最重要的是,考慮從http://www.ajaxload.info/以GIF的形式添加加載動畫,以便用戶知道他們必須等待。

理想情況下,您將進行ajax調用,並且如果操作失敗或返回消息,可以重新啓用該按鈕。

最糟糕的情況是,您可以從頁面上完全刪除按鈕,但如果操作失敗並且用戶需要再次按下該按鈕,這不是一個好主意。

「不工作」的服務器端:

在數據庫級別上,捕捉和重複拒絕(您的標準),以確保即使他們滑一個過去,你不重複的數據。

+0

偉大的答案謝謝! –