2012-07-24 19 views
5

मैं लगभग 5 वर्षों के ब्रेक के बाद एएसपी.NET 4.0 वेब फॉर्म प्रोजेक्ट पर काम कर रहा हूं, और मैं सबमिट व्यवहार के बारे में उलझन में हूं।क्या एएसपी.नेट वेब फॉर्म डबल क्लिक सबमिशन को रोकता है?

बटन की क्लिक ईवेंट में, मैं थ्रेड सोता हूं ताकि मैं सबमिट बटन को कई बार क्लिक कर सकूं।

मैं जो कह सकता हूं उससे, एएसपी.नेट क्लिक ईवेंट को एक से अधिक बार बुला रहा है। क्या ये सच है?

बीटीडब्ल्यू: मैंने इस परीक्षण के लिए जावास्क्रिप्ट बंद कर दिया है।

+0

संभव डुप्लिकेट http://stackoverflow.com/questions/1498269/asp-net- डबल-क्लिक-समस्या) और [बटन पर डबल-क्लिक रोकें] (http://stackoverflow.com/questions/6408710/prevent-double-clicking-on-button) और http://stackoverflow.com/questions/11342546/how-to-prevent-double-submit-with-jquery-in-asp-net-app-with-updatepanels? rq = 1 – adatapost

+0

समर्थक उन उत्तरों के साथ दोष यह है कि वे एक टोकन को लागू करने के बारे में बात करते हैं यह निर्धारित करने के लिए कि क्या एक डबल सबमिशन हुआ है। यही वह है जो मैं तब तक करने वाला था जब तक ऐसा लगता था कि एएसपी.नेट इसे किसी भी तरह से रोक रहा था। केवल 1 उत्तर है, http://stackoverflow.com/a/1502846/120399, जो इंगित करता है कि एएसपी.नेट आपके लिए इसका ख्याल रख सकता है। – Jules

उत्तर

8

"ASP.NET क्लिक करें घटना को रोक रहा है एक बार से अधिक बुलाया जा रहा है। यह सच है?"

नहीं, वास्तव में क्या आप के लिए हो रहा है जिसमें आपके ईवेंट ताला द्वारा ब्लॉक किए गए सत्र का। (What session is on asp.net, एएसपीनेट पर एक मॉड्यूल है जो साइट पर आने वाले प्रत्येक उपयोगकर्ता के लिए डेटा रख सकता है)

तो जब आप सबमिट करते हैं, और पृष्ठ सबमिट हो रहा है, और फिर आप एक दूसरे से पहले पहला एक रीप्ले, असल में दूसरा दूसरा सत्र समाप्त करने और अनलॉक करने का इंतजार कर रहा है।

एक परीक्षण करने और साबित करने के लिए कि सत्र आपके अनुरोध को लॉक कर रहा है, सत्र बंद कर दें और अपना परीक्षण फिर से प्रयास करें।

रिश्तेदार:
Web app blocked while processing another web app on sharing same session
What perfmon counters are useful for identifying ASP.NET bottlenecks?
Replacing ASP.Net's session entirely
Trying to make Web Method Asynchronous

[ASP.Net डबल क्लिक करें समस्या] (की
+1

मैंने परीक्षण किया है और परिणाम आप कहते हैं - जब सत्र अक्षम होता है, तो मुझे ईवेंट में कई हिट मिलती हैं। जब सत्र सक्षम होता है, ऐसा लगता है कि ईवेंट अवरुद्ध होने पर बाद के अनुरोधों को फेंक दिया जाता है, और कतारबद्ध नहीं किया जाता है। इससे, मुझे लगता है कि अगर मेरे पास किसी पृष्ठ के लिए सत्र सक्षम है, तो मुझे डबल सबमिट के बारे में चिंता करने की ज़रूरत नहीं है - जब तक मैं कहूं, जवाब देने से पहले बटन को अक्षम करें। क्या ये सही है? – Jules

+0

@ जुल्स गुड, मुझे खुशी है कि मैं असली समस्या को समझता हूं :) – Aristos

+0

@Jules हां सत्र इस तरह की कई सिंक्रनाइज़ करने के लिए मदद करता है। मैंने एक कस्टम सत्र बनाया है जो कुछ भी लॉक नहीं है और मैं इस तरह के बाएं मुद्दे से लॉक हूं। यह एक अच्छा हिस्सा है, बुरा हिस्सा यह है कि सभी अनुरोधों को लॉक करें और यह अनुरोध करता है कि एक दूसरे को अवरुद्ध करने की सापेक्षता न हो ... कम से कम पहली बार जब आप साइट शुरू करते हैं तो जीवन को सबसे आसान बनाते हैं। – Aristos

संबंधित मुद्दे