मैं एक बहुत ही सरल ऑपरेशन, जहां मैं एक और HtmlGenericControl करने के लिए एक HtmlGenericControl जोड़ने की कोशिश की है:क्या आप HtmlGenericControl में बाल नियंत्रण जोड़ सकते हैं?
protected void Page_Load(object sender, EventArgs e)
{
HtmlGenericControl div = new HtmlGenericControl("div");
HtmlGenericControl p = new HtmlGenericControl("p");
div.Controls.Add(p);//exception occurs
}
एक अपवाद केवल डीबगर में फेंक दिया जाता है - स्वयं पृष्ठ renders के रूप में यद्यपि कुछ भी नहीं हुआ था। हालांकि कुछ निश्चित रूप से होता है, जैसा कि कोड के एक बड़े हिस्से में, नियंत्रण नहीं किया जा रहा है जैसा कि उन्हें करना चाहिए।
वास्तविक अपवाद है:
{InnerText = '((System.Web.UI.HtmlControls.HtmlContainerControl)(div)).InnerText' threw an exception of type 'System.Web.HttpException'}
मैं नहीं समझ सकता क्यों यह हो रहा है, जैसा कि आप इस तरह से एक दूसरे के लिए नियंत्रण जोड़ने के लिए सक्षम होना चाहिए।
ध्यान दें कि पहले उत्तर से, मैं आईडी के साथ फिर से करने की कोशिश की लेकिन यह अभी भी काम नहीं करता:
मैं कुछ और अधिक जानकारी नहीं है। अभिभावक के रूप में एक प्लेसहोल्डर नियंत्रण का उपयोग करते समय, वहाँ कोई अपवाद नहीं है:
protected void Page_Init()
{
PlaceHolder ph = new PlaceHolder();
HtmlGenericControl p = new HtmlGenericControl("p");
ph.Controls.Add(p);//no problem
}
ने कोशिश की है लेकिन यह अभी भी – Petras
अपवाद को अपवाद फेंकता है। आईडी का उपयोग केवल वस्तुओं के संदर्भ में बाहरी कोड के लिए किया जाता है। आंतरिक रूप से, प्रतिपादन प्रक्रिया बाल नियंत्रण में पुनरावृत्त होती है और आवश्यक होने पर आईडी स्वचालित रूप से असाइन की जाएगी। –