के बाहर नियंत्रण अपडेट करना तो मेरे पास UserControl
है जिसमें कुछ कैस्केडिंग DropDownList
एस है। सूची 1 से चयन सूची 2 को सक्षम बनाता है, जो बदले में सूची 3 सक्षम करता है। एक बार जब आप सभी तीन सूचियों में चयन कर लेते हैं, तो आप अगले पृष्ठ पर जा सकते हैं।UpdatePanel
DropDownList
एस UpdatePanel
के अंदर हैं। लेकिन "अगला पृष्ठ" बटन UpdatePanel
के बाहर है। उस बटन को अक्षम किया जाना चाहिए जब तक कि सभी तीन सूचियों में चयन न हो, और फिर इसे फिर से सक्षम किया जाना चाहिए। लेकिन चूंकि बटन UpdatePanel
के बाहर है, इसलिए जब मैं चयन करता हूं तो यह अपडेट नहीं होता है। (संपादित: "अगला पृष्ठ" बटन एक पेज भी UserControl
जिसमें पर है।)
मैं इस को हल करने का एक तरीका पता है:
var scriptManager = ScriptManager.GetCurrent(this.Page);
scriptManager.RegisterPostBackControl(dropDownList1);
scriptManager.RegisterPostBackControl(dropDownList2);
scriptManager.RegisterPostBackControl(dropDownList3);
यह एक पोस्टबैक सुनिश्चित करता है जब किसी भी ड्रॉपडाउन सूची है बदल गया, ताकि बटन अपडेट हो सके। लेकिन अगर मैं ऐसा करता हूं, तो मैं पहले स्थान पर UpdatePanel
से छुटकारा पाने के द्वारा सरल बना सकता हूं।
क्या कुछ और चालाक जावास्क्रिप्ट या कुछ के माध्यम से कोई और तरीका है, कि मैं अजाक्स को छोड़ दिए बिना UpdatePanel
के बाहर नियंत्रण अपडेट कर सकता हूं?
यह मुझे सबसे करीब है जो मुझे करना था। ट्रिगर के बजाए, मुझे अगला बटन ठीक से सेट करने के लिए मुख्य पृष्ठ (इसे कास्टिंग। पेज) पर एक विधि को कॉल करना पड़ा। मुझे UpdatePanel के अंदर काम करने के लिए अगला बटन पर RegisterPackBackControl भी पंजीकृत करना पड़ा। –