मुझे कुछ समय पहले एक साक्षात्कार में एएसपी.NET पृष्ठ जीवन चक्र की व्याख्या करने के लिए कहा गया था। मैंने उसे समझाया, लेकिन वह मेरे जवाब से संतुष्ट नहीं था। क्या कोई मुझे जीवन चक्र की व्याख्या कर सकता है?एएसपी.नेट पृष्ठ जीवन चक्र स्पष्टीकरण
उत्तर
आप देख सकते हैं:
The ASP.NET Page Life Cycle (द्वारा सुलैमान शैफर)
मुझे लगता है कि माइक्रोसॉफ्ट ने इसका सबसे अच्छा काम किया है। मैं बस प्रत्येक सारांश के सबसे महत्वपूर्ण हिस्सों को खींचकर, उनके सारांश का सारांश दूंगा।
मैं MSDN से यह पेज अनुशंसा करते हैं:
जवाब पहले से ही दूसरों के द्वारा पोस्ट किया गया है। एएसपीनेट जीवन चक्र चरणों को याद रखने के लिए बस शॉर्टकट कोड साझा करना जो मैं नीचे पोस्ट में आया था।
आर एसआईएल-VPRU
- अनुरोध
- प्रारंभ
- प्रारंभ
- लोड
- मान्यता
- पोस्ट वापस निपटने
- प्रतिपादन
अनलोड
PreInit:
आप कर सकते हैं: IsPostBack संपत्ति के लिए
चेक निर्धारित करने के लिए यह पहली बार पेज कार्रवाई की जा रही है। गतिशील नियंत्रण बनाएं या पुन: बनाएँ। गतिशील रूप से मास्टर पेज सेट करें। थीम संपत्ति को गतिशील रूप से सेट करें। प्रोफ़ाइल संपत्ति मान पढ़ें या सेट करें। यदि अनुरोध पोस्टबैक है:
नियंत्रण के मान अभी तक दृश्य स्थिति से बहाल नहीं किए गए हैं। यदि आप इस चरण में नियंत्रण संपत्ति सेट करते हैं, तो इसके मूल्य को अगले ईवेंट में ओवरराइट किया जा सकता है। इनिट:
व्यक्तिगत नियंत्रण की इनिट घटना में पहले होता है, बाद में पृष्ठ की इनिट घटना होती है। इस घटना का उपयोग नियंत्रण गुणों को आरंभ करने के लिए किया जाता है। InitComplete:
इस ईवेंट में व्यूस्टेट का ट्रैकिंग चालू है। इस पोस्ट में व्यूस्टेट में किए गए किसी भी बदलाव को अगले पोस्टबैक के बाद भी जारी रखा जाता है। प्रीलोड:
यह ईवेंट अनुरोध के साथ शामिल पोस्टबैक डेटा को संसाधित करता है। लोड:
इस घटना में पृष्ठ ऑब्जेक्ट पृष्ठ ऑब्जेक्ट पर ऑनलोड मोड को कॉल करता है, बाद में नियंत्रणों की ऑनलोड विधि को कॉल किया जाता है। इस प्रकार पृष्ठ के लोड ईवेंट के बाद व्यक्तिगत नियंत्रणों का लोड ईवेंट होता है। नियंत्रण एवेन्ट्स:
इस घटना का उपयोग बटन नियंत्रण नियंत्रण ईवेंट या टेक्स्टबॉक्स नियंत्रण के टेक्स्ट चेंजेड ईवेंट जैसे विशिष्ट नियंत्रण ईवेंट को संभालने के लिए किया जाता है। पोस्टबैक के मामले में:
यदि पृष्ठ में सत्यापनकर्ता नियंत्रण हैं, तो पृष्ठ। वास्तविक संपत्ति और नियंत्रण की सत्यापन व्यक्तिगत नियंत्रण घटनाओं की गोलीबारी से पहले होती है। लोडकंपलेट:
यह घटना ईवेंट हैंडलिंग चरण के बाद होती है। इस घटना का उपयोग पृष्ठ पर अन्य सभी नियंत्रणों को लोड करने जैसे कार्यों के लिए किया जाता है। प्रीरेंडर:
इस घटना में पृष्ठ के प्रीरेंडर ईवेंट को पहले और बाद में बच्चे के नियंत्रण के लिए बुलाया जाता है। उपयोग:
इस विधि का उपयोग डेटासोर्सआईडी असाइन करने और डेटाबिंड विधि को कॉल करने जैसे पृष्ठ पर नियंत्रण में अंतिम परिवर्तन करने के लिए किया जाता है। प्रीरेंडर पूर्ण:
प्रत्येक ईवेंट की प्रीरेंडर संपत्ति पूरी होने के बाद यह ईवेंट उठाया जाता है। SaveStateComplete:
यह नियंत्रण स्थिति के बाद उठाया गया है और देखें कि पृष्ठ को पृष्ठ के लिए और सभी नियंत्रणों के लिए सहेजा गया है। रेंडरकंपलेट:
पृष्ठ ऑब्जेक्ट पृष्ठ पर मौजूद प्रत्येक नियंत्रण पर इस विधि को कॉल करता है। यह विधि ब्राउज़र पर भेजने के लिए नियंत्रण के मार्कअप को लिखती है। अनलोड:
यह ईवेंट प्रत्येक नियंत्रण के लिए उठाया गया है और फिर पेज ऑब्जेक्ट के लिए उठाया गया है। उपयोग:
इस तरह के खुले डेटाबेस कनेक्शन बंद करने, खुली फ़ाइलों को बंद करने के रूप में अंतिम सफाई के काम के लिए नियंत्रण, में इस घटना का उपयोग करें, आदि
ASP.Net Page life cycle overview
जब एक ASP.Net पेज रन, पृष्ठ एक जीवन चक्र के माध्यम से जाता है जिसमें आईआर प्रसंस्करण चरणों की एक श्रृंखला करता है।ये
- प्रारंभ
- instantiating नियंत्रण
- Restroring और बनाए रखने के राज्य
- ईवेंट हैंडलर कोड चल रहा है, और
प्रतिपादन शामिल हम क्यों ASP.Net पृष्ठ सीखने की जरूरत है जीवन चक्र?
पृष्ठ जीवन चक्र को समझना आपके लिए महत्वपूर्ण है ताकि आप जिस उद्देश्य के इरादे से उचित जीवन चक्र चरण में कोड लिख सकें।
यदि आप कस्टम नियंत्रण विकसित करते हैं, तो नियंत्रणों को सही ढंग से प्रारंभ करने के लिए आपको पृष्ठ पृष्ठ चक्र से परिचित होना चाहिए, नियंत्रण व्यवहार कोड को पॉप्युलेट करना चाहिए। नियंत्रण का जीवन चक्र पृष्ठ जीवन चक्र पर आधारित होता है, और पृष्ठ उन कई घटनाओं को उठाता है जिन्हें आपको कस्टम नियंत्रण में संभालने की आवश्यकता होती है।
सामान्य पृष्ठ जीवन चक्र statges:
जीवन चक्र के कुछ भाग केवल तब होता है जब एक पृष्ठ पोस्टबैक के रूप में संसाधित किया जाता है। पोस्टबैक के लिए, पृष्ठ जीवन चक्र आंशिक पोस्टबैक के दौरान समान होता है (जैसे कि जब आप एक अपडेट पैनल नियंत्रण का उपयोग करते हैं) क्योंकि यह पूर्ण पृष्ठ पोस्टबैक के दौरान होता है।
- पृष्ठ अनुरोध
- प्रारंभ
- प्रारंभ
- लोड
- पोस्टबैक
- ईवेंट प्रबंधन के प्रतिपादन
- अनलोड
1)। पृष्ठ अनुरोध:
पृष्ठ अनुरोध जीवन पृष्ठ चक्र शुरू होने से पहले होता है। जब उपयोगकर्ता द्वारा पृष्ठ का अनुरोध किया जाता है, तो एएसपी.Net निर्धारित करता है कि पृष्ठ को पार्स और संकलित करने की आवश्यकता है (इसलिए एक पेज के जीवन को शुरू करना), या पृष्ठ के कैश किए गए संस्करण को पृष्ठ को चलाने के बिना प्रतिक्रिया में भेजा जा सकता है या नहीं।
Read complete article on "ASP.Net Page life cycle overview" here.
Partial Class _Default
Inherits System.Web.UI.Page
Dim str As String
Protected Sub Page_Disposed(sender As Object, e As System.EventArgs) Handles Me.Disposed
str += "PAGE DISPOSED" & "<br />"
End Sub
Protected Sub Page_Error(sender As Object, e As System.EventArgs) Handles Me.Error
str += "PAGE ERROR " & "<br />"
End Sub
Protected Sub Page_Init(sender As Object, e As System.EventArgs) Handles Me.Init
str += "PAGE INIT " & "<br />"
End Sub
Protected Sub Page_InitComplete(sender As Object, e As System.EventArgs) Handles Me.InitComplete
str += "INIT Complte " & "<br />"
End Sub
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
str += "PAGE LOAD " & "<br />"
End Sub
Protected Sub Page_LoadComplete(sender As Object, e As System.EventArgs) Handles Me.LoadComplete
str += "PAGE LOAD Complete " & "<br />"
End Sub
Protected Sub Page_PreInit(sender As Object, e As System.EventArgs) Handles Me.PreInit
str = ""
str += "PAGE PRE INIT" & "<br />"
End Sub
Protected Sub Page_PreLoad(sender As Object, e As System.EventArgs) Handles Me.PreLoad
str += "PAGE PRE LOAD " & "<br />"
End Sub
Protected Sub Page_PreRender(sender As Object, e As System.EventArgs) Handles Me.PreRender
str += "PAGE PRE RENDER " & "<br />"
End Sub
Protected Sub Page_PreRenderComplete(sender As Object, e As System.EventArgs) Handles Me.PreRenderComplete
str += "PAGE PRE RENDER COMPLETE " & "<br />"
End Sub
Protected Sub Page_SaveStateComplete(sender As Object, e As System.EventArgs) Handles Me.SaveStateComplete
str += "PAGE SAVE STATE COMPLTE " & "<br />"
lbl.Text = str
End Sub
Protected Sub Page_Unload(sender As Object, e As System.EventArgs) Handles Me.Unload
'Response.Write("PAGE UN LOAD\n")
End Sub
End Class
वहाँ ASP.NET पेज जीवन चक्र में 10 घटनाओं और अनुक्रम है: - Init, लोड दृश्य राज्य, PostBackdata, लोड, मान्य, घटना, पूर्व प्रस्तुत करना, सहेजें राज्य देखें, प्रस्तुत करें और अनलोड करें।
नीचे एएसपी.NET पृष्ठ जीवन चक्र का चित्रमय दृश्य है जिसमें उस घटना में किस तरह के कोड की अपेक्षा की जाती है। मैं आपको इस लेख को ASP.NET Page life cycle पर पढ़ने का सुझाव दूंगा जो विवरण में सभी 10 घटनाओं और उनका उपयोग कब करें।
अच्छा दृश्य। मैं इसे प्रबंधन में दिखा सकता हूं ताकि वे समझ सकें कि मैं स्पेगेटी कोड के कारण डेटाबेस में एकाधिक यात्राओं के बारे में क्या समझाने की कोशिश कर रहा हूं। – JoshYates1980