2010-09-21 10 views
6

मैं एएसपी.NET अनुप्रयोगों का विकास कर रहा हूं और व्यवहार को पुनः सबमिट करने से संबंधित "समस्या" के साथ अटक गया हूं। मैं फॉर्म में सबमिट काउंटर का उपयोग करके फिर से सबमिट करने पर नियंत्रण कर रहा हूं, जो जमा होने से पहले ही सबमिट हो चुका है। मेरा आवेदन एक 3 कदम वर्कफ़्लो है और जब तीसरा चरण दिखाया जाता है तो लेनदेन चरण 2 से चरण 3 तक सबमिट किया गया था। मेरी समस्या क्या है? खैर ... मैं उपयोगकर्ता को F5 या अन्य सभी संभावनाओं को दबाकर डेटा को पुनः सबमिट करने से बचना चाहता हूं। मैं कुंजी को अक्षम नहीं करना चाहता क्योंकि कामकाज हो सकता है। मुझे आश्चर्य है कि क्या मैं एक HTTP मॉड्यूल में पोस्ट डेटा को हटा सकता हूं जो रेंडर पूरा होने के बाद चलता है और उपयोगकर्ता को प्रतिक्रिया भेजी जाने से ठीक पहले।फॉर्म से बचें

उत्तर

5

आप पोस्ट/रीडायरेक्ट/प्राप्त करें "पैटर्न" का उपयोग कर सकते हैं, जहां उपयोगकर्ता डेटा पोस्ट करते हैं, तो आप इसे किसी अन्य पृष्ठ पर रीडायरेक्ट करते हैं (सबमिट किए गए डेटा को प्रोसेस करने के बाद) जो प्रतिक्रिया प्राप्त करेगा। बस स्टैक ओवरफ्लो की तरह और दूसरी साइटें कर रही हैं।

यहां विकिपीडिया पृष्ठ है जो Post/Redirect/Get Pattern बताता है।

+1

हाँ, यदि आप पोस्ट के बाद रीडायरेक्ट करते हैं, तो क्लाइंट को एक पृष्ठ पर रीडायरेक्ट किया जाता है, इसलिए यदि वे रीफ्रेश करते हैं, तो यह केवल जीईटी रीफ्रेश करेगा। –

+1

लिंक टूटा हुआ है और उस पृष्ठ के लिए कोई Google कैश या waybackmachine नहीं है। – daniloquio

2

शायद मैंने आपके प्रश्न/मुद्दे को गलत समझा लेकिन ऐसा लगता है कि आप चीजों को कठिन बनाने के लिए कठिन बना सकते हैं। यदि आप पहले से ही फॉर्म को सबमिट कर चुके हैं या नहीं, तो ट्रैक को सबमिट करने से पहले आप कोड पर उस झंडे को क्यों चेक नहीं कर सकते हैं? अगर इसे पहले ही सबमिट कर दिया गया है, तो बस पुनः सबमिट करें ईवेंट को अनदेखा करें और शायद एक त्रुटि संदेश सेट करें।

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