RaisePostBackEvent फायरिंग नहीं

मेरे पास एक कस्टम नियंत्रण है जो IPostBackEventHandler लागू करता है। कुछ क्लाइंट-साइड इवेंट __doPostBack (ControlID, eventArgs) का आह्वान करते हैं।

नियंत्रण दो अलग-अलग उपयोगकर्ता नियंत्रणों में लागू किया जाता है। एक नियंत्रण में, जब __ doPostBack का आह्वान किया जाता है, तो RaisePostBackEvent को सर्वर-साइड पर निकाल दिया जाता है। दूसरे नियंत्रण में, RaisePostBackEvent कभी भी नहीं बुलाया जाता है। मैंने __ EVENTTARGET पैरामीटर की जांच की है और यह नियंत्रण के क्लाइंट आईडी से मेल खाता है ... मैं इसे और समस्या निवारण कहां देख सकता हूं?

0
ro fr bn

2 उत्तर

अलग-अलग तरीके अलग हो सकते हैं। क्या आप कोड में गतिशील रूप से पृष्ठ पर नियंत्रण जोड़ रहे हैं? यदि आपका अद्वितीय आईडी बंद हो सकता है - भले ही क्लाइंट आईडी बराबर हो। क्या आपके पास एक कोड नमूना है जो दिखा सकता है कि आप क्या कर रहे हैं?

0
जोड़ा
(टिप्पणी करने के लिए प्रेरित) - ठीक है, मैं बेवकूफ़ महसूस करता हूं ... यह एक साधारण समस्या थी - मैंने सोचा था कि नियंत्रण का अनोखा आईडी __EVENTARGS से मेल खाता है लेकिन मेरे हिस्से पर कुछ जावास्क्रिप्ट मूर्खता के कारण, यह एक $ था जहां अंडरस्कोर होना चाहिए था । यह अनदेखा करने के लिए इतना आसान अनोखा आईडी था।
जोड़ा लेखक Rex M, स्रोत

दो बार जांचें कि यह वास्तव में UserControl क्लास का व्युत्पन्न है, न कि वेबकंट्रोल एक।
इसने मुझे कई बार आश्चर्यचकित कर दिया है। यदि आपको स्टाइल के लिए वेबकंट्रोल का उपयोग करने की आवश्यकता है, तो आपको अपने नियंत्रण को INamingContainer को लागू करने की आवश्यकता है। (चिंता मत करो, यह एक मार्कर इंटरफ़ेस है)

इसलिए..

public class MyControl : UserControl {}

या

public class MyControl : WebControl, INamingContainer {}
0
जोड़ा