मैं वर्तमान में अपने एप्लिकेशन के एक हिस्से के साथ काम कर रहा हूं जो गतिशील वेब उपयोगकर्ता नियंत्रण का उपयोग करता है और मुझे व्यूस्टेट या किसी अन्य विधि का उपयोग करके पोस्टबैक पर नियंत्रण को पुन: प्रारंभ करने का सबसे अच्छा तरीका पता लगाने में कुछ परेशानी हो रही है मुझे प्रत्येक पोस्टबैक पर डेटाबेस से पूछने की आवश्यकता नहीं है।डेटाबेस का उपयोग किये बिना गतिशील एएसपी.NET उपयोगकर्ता नियंत्रण को मैं फिर से चालू कैसे कर सकता हूं?
असल में मेरे पृष्ठ पर जो कुछ है वह एक उपयोगकर्ता नियंत्रण है जिसमें बाल उपयोगकर्ता नियंत्रण की एक परिवर्तनीय मात्रा रखने के लिए एक पैनल होता है और एक बटन जो "नियंत्रण जोड़ें" कहता है जिसका कार्य सुंदर आत्म व्याख्यात्मक है।
बाल उपयोगकर्ता नियंत्रण बहुत आसान है; यह सिर्फ एक डिलीट बटन है, एक ड्रॉप डाउन है, और एक पंक्ति पिकर नियंत्रण एक पंक्ति में व्यवस्थित है। जब भी उपयोगकर्ता अभिभावक नियंत्रण पर नियंत्रण जोड़ें बटन पर क्लिक करता है, तो बाल नियंत्रण वाले पैनल में एक नई 'पंक्ति' जोड़ दी जाती है।
मैं क्या करना चाहता हूं कि इस संग्रह में नियंत्रण जोड़ने और निकालने, मूल्यों को संशोधित करने और डेटाबेस में किसी भी कॉल किए बिना मुझे 'इन-मेमोरी' करने के लिए जो भी ऑपरेशन करने की आवश्यकता है, उसे करने में सक्षम होना है। जब मैं नियंत्रण जोड़ रहा हूं और उनके मूल्यों को पॉप्युलेट कर रहा हूं, तो मैं नियंत्रण से सभी डेटा को एक ही समय में डेटाबेस से सहेजने/अपडेट करने के लिए "सेव" पर क्लिक करना चाहता हूं। वर्तमान में मुझे मिला एकमात्र समाधान बस प्रत्येक पोस्ट को डेटाबेस में डेटा को सहेजना है और फिर डीबी में संग्रहीत पंक्तियों का उपयोग पोस्टबैक पर नियंत्रण को फिर से चालू करने के लिए करना है। जाहिर है, यह उपयोगकर्ता को उनकी इच्छानुसार डीबी में परिवर्तनों को सहेजने के लिए मजबूर करता है और यदि वे अपने डेटा को सहेजे बिना नियंत्रण के साथ काम करना रद्द करना चाहते हैं, तो यह सुनिश्चित करने के लिए अतिरिक्त काम किया जाना चाहिए कि पहले किए गए पंक्तियां हटा दी गई हैं।
गतिशील नियंत्रणों के उपयोग के बारे में मैंने जो सीखा है, उससे मुझे पता है कि जीवन चक्र के इनिट चरण के दौरान पृष्ठ में नियंत्रण जोड़ना और फिर लोड मान में उनके मूल्यों को पॉप्युलेट करना सबसे अच्छा है। मैंने यह भी सीखा है कि यह सुनिश्चित करने का एकमात्र तरीका है कि आप नियंत्रण के दृष्टिकोण को जारी रख सकते हैं यह सुनिश्चित करना है कि आप प्रत्येक गतिशील नियंत्रण को एक अद्वितीय आईडी दें और नियंत्रण को तुरंत चालू करते समय इसे सटीक आईडी असाइन करना सुनिश्चित करें। मैंने यह भी सीखा है कि व्यूस्टेट वास्तव में जीवन चक्र में इनिट चरण के बाद तक लोड नहीं होता है। यह वह जगह है जहां मेरी समस्या निहित है। यदि मैं व्यूस्टेट का उपयोग करने में असमर्थ हूं और मैं डेटाबेस में कोई कॉल नहीं करना चाहता हूं तो मैं इन नियंत्रणों के नाम कैसे संग्रहीत और पुनर्प्राप्त कर सकता हूं? क्या एएसपीनेट का उपयोग करके मूल्यों की इन-मेमोरी मैनिपुलेशन/बैच की बचत भी संभव है?
किसी भी मदद की बहुत सराहना की है,
माइक
थोड़ा देर हो चुकी है, लेकिन मुझे ऐसा लगता है: http://stackoverflow.com/a/15346332/52898 – Tommy