यदि आप कंपोजिट कंट्रोल से प्राप्त होते हैं तो कोई ऐसा निर्माता नहीं होता है जो टैग प्रकार लेता है। आप टैगकी को ओवरराइड कर सकते हैं (मैंने इसे आजमाया नहीं है), लेकिन अधिक लचीला विकल्प RenderBeginTag विधि को ओवरराइड करना है और इसे वही करना है जो आप चाहते हैं। बेस क्लास एक "अवधि" उद्घाटन तत्व प्रस्तुत करता है, लेकिन आपको बेस क्लास विधि को कॉल करने की आवश्यकता नहीं है। यदि आप कुछ भी नहीं चाहते हैं तो आपको कुछ भी कॉल करने की ज़रूरत नहीं है (इस मामले में रेंडरएंडटैग को ओवरराइड करें और वहां कुछ भी कॉल न करें)। उदाहरण के लिए,
public override void RenderBeginTag(HtmlTextWriter writer)
{
writer.AddAttribute(HtmlTextWriterAttribute.Class, "reportViewer");
writer.AddAttribute(HtmlTextWriterAttribute.Id, "QueryViewerWrapper");
writer.RenderBeginTag(HtmlTextWriterTag.Div);
}
इस कोड का उत्पादन
<div class="reportViewer" id="QueryViewerWrapper">
जो वास्तव में क्या मैं मेरा यह विशेष रूप से समग्र नियंत्रण के लिए की जरूरत है, एक वर्ग के साथ एक div एक ReportViewer नियंत्रण रैप करने के लिए। मैं सिर्फ आउटपुट को स्थानांतरित करने के लिए आईडी को शामिल करता हूं।
+1 टैग ओवररेड करें और यह अच्छी तरह से काम करता है – Maslow