2013-08-16 8 views
1

공장 인트라넷에서 실행되는 ASP.NET MVC3 응용 프로그램이 있습니다. 공장은 Internet Explorer를 사용하고 최종 사용자는 조금 참을성이 있습니다. 데이터베이스에 새 개체를 추가하는 페이지에서 탐색기가 빠르게 응답하지 않고 사용자가 추가 단추를 다시 누르면 동일한 개체가 두 번 삽입됩니다. 나는 그것을 막을 방법을 생각하고있다.동일한 요청이 두 번 이상 수행되지 않도록 방지

버튼을 누르면 보이지 않게하는 스크립트를 작성했지만 제대로 작동하지 않게하려고합니다. 자바 스크립트 함수 또는 제출 버튼이 작동하지 않는 서버 측 구현이 있습니까?

답변

3

"작동하지 않는"클라이언트 측 :

나는

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

좀 더 안전하고 그냥 보이지 않게보다 사용하지 말 것. 또한, 사용자가 기다려야한다는 것을 알기 위해 로딩 애니메이션을 http://www.ajaxload.info/의 GIF 형태로 추가하는 것을 고려해보십시오.

이상적으로 아약스를 호출하고 작업이 실패하거나 메시지를 반환하면 버튼을 다시 사용할 수 있습니다.

최악의 경우 시나리오에서 버튼을 페이지에서 모두 제거 할 수 있지만 작업이 실패하고 사용자가 다시 버튼을 눌러야하는 경우에는 그리 좋은 생각이 아닙니다.

데이터베이스 수준에

, 잡아 그들이 슬립을 한 과거를 할 경우에도, 중복 데이터와 끝까지하지 않도록 (당신의 기준과) 중복을 거부 :

서버 측 "작동하지 않음" .

+0

대단히 감사합니다! –

관련 문제