2011-01-30 12 views
5

एएसपी.नेट में मैं अक्सर अपने सिस्टम पर दूसरे उपयोगकर्ता को अंतिम पृष्ठ पर रीडायरेक्ट करने के लिए Response.Redirect का उपयोग करता हूं। प्रतिक्रिया को तुरंत समाप्त करने के लिए मैं हमेशा दूसरा पैरामीटर सत्य पर सेट करता हूं।Response.Redirect ("SomeURL", false) के लिए वैध उपयोग क्या है?

मेरे जीवन के लिए, मैं किसी कारण के बारे में नहीं सोच सकता कि कोई भी उस पैरामीटर को झूठी क्यों सेट करेगा। एक पृष्ठ को जारी रखने का क्या मतलब है जब अंतिम उपयोगकर्ता का ब्राउज़र तुरंत किसी दूसरे पृष्ठ पर रीडायरेक्ट किया जा रहा है?

उत्तर

6

Response.Redirect का मतलब यह नहीं है कि पृष्ठ-जीवन चक्र सर्वर पर समाप्त हो गया है, यह केवल क्लाइंट को हैडर भेजता है।

शायद आप पहले उपयोगकर्ता को रीडायरेक्ट करना चाहते हैं और फिर डेटाबेस में बड़ी मात्रा में अपलोड किए गए डेटा को सहेजना चाहते हैं?

HttpServerUtility.Transfer इस तरह से पृष्ठ-जीवन चक्र को समाप्त करता है, लेकिन यह एक शीर्षलेख नहीं भेजता है, यह बस एक अलग पृष्ठ परोसता है।

+1

नोट: जब आप ट्रांसफर यूआरएल का उपयोग करते हैं तो वही रहेगा –

+0

मैं आपका उत्तर सही के रूप में स्वीकार करूंगा। हालांकि मैंने आपके प्रतिवाद को "सैद्धांतिक रूप से, आप इसे इस तरह से उपयोग कर सकते हैं" के बजाय "अतीत में, मैंने इसे इस तरह इस्तेमाल किया" के रूप में पढ़ा। मैं क्या जानना चाहता हूं क्या आप कभी भी दूसरी पैरामीटर के साथ प्रतिक्रिया.रेरेक्ट विधि का उपयोग करते हैं? – Aheho

+0

असल में, मैं हमेशा इसे गलत पर सेट करता हूं। मैं Response.Redirect ("http://www.yahoo.com", झूठी) का उपयोग करना पसंद करता हूं; Response.Redirect के बजाय ("http://www.yahoo.com"); –

6
Response.Redirect(..., true); 

ग्राहक नए पेज के लिए रीडायरेक्ट भेजा जाएगा, प्रसंस्करण एक धागा बीच में बंद करें के रूप में बंद हो जाएगा हो जाएगा

Response.Redirect(..., false); 

ग्राहक नए पेज के लिए रीडायरेक्ट भेजा जाएगा, वर्तमान पृष्ठ की अनुमति दी जाएगी प्रसंस्करण, शायद कुछ सफाई काम करने के लिए या कुछ और जारी रखने के लिए

ग्राहक या तो मामलों में वर्तमान पृष्ठ के परिणामों को देखने कभी नहीं होगा

1

क्यों नहीं। किसी पृष्ठ की प्रक्रियाओं को मारने से पहले आपके पास इस पृष्ठ पर कुछ चीजें पूरी हो सकती हैं। फ़ाइल के लिए लिखना और फिर उदाहरण के लिए इसे कॉल करना। या कनेक्शन के उचित समापन के साथ डीबी में कुछ बदलाव कर रहे हैं।

-1

Response.Rediect("any page like Default.aspx");

जब इस बयान पर नियंत्रण पहुंच हमारे पेज पेज कि कोष्ठक में निर्दिष्ट किया जाता है के लिए कूद कर दिया जाएगा। पृष्ठ .aspx, .asp.htm आदि हो सकता है ...

+1

कोई बात दोहराने वाली चीजें जो पहले से ही अन्य उत्तरों में समझाई गई हैं। –

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