मेरे पास एक जटिल पृष्ठ है जो गतिशील रूप से दोहराना के अंदर उपयोगकर्ता नियंत्रण बनाता है। यह दोहराना ViewState
से पहले इनिट पेज ईवेंट के दौरान बाध्य होना चाहिए या गतिशील रूप से बनाए गए उपयोगकर्ता नियंत्रण उनके राज्य को बनाए रखेंगे।जब आप व्यूस्टेट का उपयोग नहीं कर सकते तो आप क्या करते हैं?
यह एक दिलचस्प कैच -22 बनाता है क्योंकि ऑब्जेक्ट मैं दोहराने वाला ऑब्जेक्ट प्रारंभिक पृष्ठ लोड पर बनाने की आवश्यकता है, और तब तक स्मृति में तब तक जारी रहता है जब तक उपयोगकर्ता छोड़ने या सहेजने का विकल्प नहीं चुनता।
क्योंकि मैं इस ऑब्जेक्ट को स्टोर करने के लिए ViewState
का उपयोग नहीं कर सकता, फिर भी यह इनिट के दौरान उपलब्ध है, मुझे इसे सत्र में स्टोर करने के लिए मजबूर किया गया है।
इसमें भी समस्याएं हैं, क्योंकि ViewState
काम करने के अनुकरण के लिए मुझे गैर-पोस्टबैक के दौरान सत्र मूल्य को स्पष्ट रूप से शून्य करना होगा।
इस परिदृश्य में राज्य प्रबंधन के लिए एक बेहतर तरीका होना चाहिए। कोई विचार?
संपादित करें:LoadViewState
का उपयोग करने के बारे में कुछ अच्छे सुझाव, लेकिन मुझे अभी भी स्थिति के साथ समस्याएं हैं जब मैं ऐसा करता हूं।
यहाँ कुछ हद तक अगर पेज संरचना
पृष्ठ है -> UserControl -> पुनरावर्तक -> UserControls की एन राशि dynamicly बनाया गया।
मैंने पैरेंटपर LoadViewState
को ओवरराइड किया है, क्योंकि इसे पूरी तरह से encapsulated और उस पृष्ठ से स्वतंत्र होने के लिए डिज़ाइन किया गया है। मैं सोच रहा हूं कि वह समस्या है जहां समस्या है।
क्या आप डाटाबेसिंग का उपयोग कर रहे हैं? मैं इसे एएसपीनेट के साथ कभी भी उपयोग नहीं करता हूं और यह कुछ हद तक खेल मैदान बदल सकता है। लेकिन, LoadViewState वह ईवेंट है जिसका उपयोग पोस्ट-बैक टाइम पर गतिशील नियंत्रण बहाल करने के लिए किया जाना चाहिए। पेज लोड निश्चित रूप से जीवन चक्र में बहुत देर हो चुकी है। – DancesWithBamboo