Saturday, October 16, 2021

ASP.NET PostBack State Management ViewState Session QueryString

  • Meaning of Page posting 
  • PostBack of Page
  • Page Level State Management
  • ViewState
  • User Level State Management
  • Session
  • QueryString
  • Application Level State Management
पोस्टबैक का क्या अर्थ होता है? 
जब हम किसी वेबपेज के लिए वेब ब्राउज़र के वेब एड्रेसबार में यूआरएल लिखते हैं तो उस यूआरएल के आधार पर एक निश्चित वेबपेज की रिक्वेस्ट ब्राउज़र द्वारा वेब सर्वर के पास भेज दी जाती है। एचटीटीपी प्रोटोकोल के अंतर्गत, ब्राउज़र की रिक्वेस्ट सर्वर तक जाती है और उस निश्चित पेज की पोस्टिंग सर्वर ब्राउज़र को कर देता है। 

Post vs PostBack
जब पहली बार ब्राउज़र के भीतर हमें पेज दिखाई देता है तो यह पेज की पोस्टिंग होती है जबकि पेज की पोस्टबैक  का अभिप्राय है कि उसी निश्चित पेज को दोबारा सर्वर के पास प्रोसेसिंग के लिए भेजा जाए। ऐसा तब होता है जब उस पेज के भीतर स्थित किसी वेब कंट्रोल को क्लिक किया जाता है या इसी तरह की कोई अन्य घटना घटित होती है। उदाहरण के लिए जब किसी वेबफॉर्म के भीतर स्थित बटन को क्लिक किया जाता है तो बटन के क्लिक करने पर घटना घटित होती है और उस क्लिक घटना को हैंडल करने के लिए पेज को दोबारा ब्राऊजर द्वारा सर्वर पर भेजा जाता है और इस प्रक्रिया को पोस्टबैक कहते हैं। 

ब्राउज़र वेबपेज को दोबारा सर्वर पर प्रोसेसिंग करने के लिए भेजता है तो उस पेज का दोबारा से रिक्रिएशन होता है और पेज में जितने भी डाटा होते हैं वह नष्ट हो जाते हैं। उदाहरण के लिए अगर किसी वेबपेज के भीतर किसी टेक्स्ट बॉक्स में यूज़र ने अपना पासवर्ड लिखा और सबमिट बटन को क्लिक किया तो ऐसा होगा कि वर्ब फॉर्म दोबारा से प्रोसेसिंग के लिए सर्वर पर जाएगा और सर्वर उस पेज की प्रोसेसिंग करके पोस्टबैक करेगा। पोस्ट बैक करने की अवस्था में पेज का पुराना डाटा नष्ट हो जाता है। कहने का अर्थ यह है कि टेक्स्ट बॉक्स में जो डाटा या पासवर्ड लिखा गया वह डाटा उपलब्ध नहीं होगा। 

इस बात को एक उदाहरण से प्रोजेक्ट बनाकर समझते हैं। सबसे पहले एक ASP.NET वेबफॉर्म एप्लीकेशन बनाइए और उस एप्लीकेशन के भीतर एक वेबफॉर्म को जोड़िए। उस वेबफॉर्म के ऊपर 2 टेक्स्ट बॉक्स रखिए जिसके भीतर यूजरनेम और पासवर्ड डाला जा सके और दो बटन भी बनाइए। एक बटन सबमिट के लिए होगा दूसरा बटन  टेक्स्ट बॉक्स के डाटा को दोबारा से प्राप्त करने के लिए होगा। टेक्स्ट बॉक्स के डाटा को हम दो स्ट्रिंग टाइप के वैरियेबल्स में स्टोर करके रखते हैं और उस दोबारा डाटा को प्राप्त करने के लिए हम निम्न प्रकार के कोडिंग कर सकते हैं।

हम पाएंगे कि दूसरे बटन को दबाने पर टेक्स्ट बॉक्स में डाटा दोबारा से नहीं आता है इसका वजह यह है कि पोस्टबैक के दौरान वह सारा डाटा नष्ट हो जाता है।

ViewState as Page level State Management
अगर हम चाहते हैं कि जिस डाटा को टेक्स्ट बॉक्स के भीतर रखा गया, दूसरे शब्दों में जिस स्ट्रिंग वैरियेबल्स के भीतर हमने डाटा को स्टोर करके रखा अगर उस डाटा को हम ViewState नामक ऑब्जेक्ट के भीतर स्टोर करके रखें तो वह डाटा पोस्टबैक के बाद भी प्राप्त हो जाता है। 

ViewState का शाब्दिक अर्थ है View की स्टेट। View पेज को कहते हैं। ViewState अर्थात पेज के ऊपर रखे हुए डाटा।

ViewState के संबंध में यह बात याद रखने लायक है कि एक पेज का ViewState दूसरे पेज के ऊपर उपलब्ध नहीं होता है। कहने का अभिप्राय यह है कि किसी एक पार्टिकुलर पेज का डाटा दूसरे पेज पर प्राप्त नहीं होगा। ViewState का स्कोप एक ही पेज तक होता है। अतः दूसरे पेज पर  एक पेज के ViewState के डाटा को प्राप्त नहीं किया जा सकता है। 

Session as User level State Management
अगर हम चाहते हैं कि दूसरे पेज पर किसी पेज के डाटा को प्राप्त करना तो इसके लिए हमें Session ऑब्जेक्ट का उपयोग करना पड़ता है। 

Session ऑब्जेक्ट की सहायता से हम एक Session के दौरान जितने भी पेज होते हैं उन सभी पेज के ऊपर किसी पेज के डाटा को ट्रांसफर कर सकते हैं। अतः सेशन ऑब्जेक्ट के डाटा का स्कोप पूरा Session होता है और उस Session के भीतर जितने भी पेज होंगे उन सभी पेज पर हम डाटा को ट्रांसफर कर सकते हैं।

प्रत्येक यूज़र का अलग-अलग Session क्रिएट होता है।

QueryString as State Management


Application as State Management

No comments:

Post a Comment

Hot Topics