2010-06-07 4 views
6

में कनवर्ट करना मेरे पास एक तृतीय पक्ष टूल है जो HtmlTextWriter के RenderBeginTag, RenderEndTag & AddAttribute विधियों का उपयोग करके कोड के माध्यम से एक आईएमजी टैग बनाता है। मैं परिणामी एचटीएमएल को एक स्ट्रिंग में प्राप्त करना चाहता हूं। मैंने प्रतिबिंब विधि को here का उल्लेख करने की कोशिश की लेकिन मुझे "System.IO.StringWriter" टाइप करने के लिए "System.Web.HttpWriter 'प्रकार की ऑब्जेक्ट डालने में असमर्थ त्रुटि मिली। HtmlTextWriter का InnerWriter प्रकार HttpWriter प्रकार है।HtmlTextWriter की सामग्री को एक स्ट्रिंग

आउटपुट एचटीएमएल को स्ट्रिंग में कॉपी करने के तरीके पर कोई विचार?

अलावा: तीसरे पक्ष के नियंत्रण से कोड

protected override void Render(HtmlTextWriter output) 
    { 
    ..... 
    output.AddAttribute(HtmlTextWriterAttribute.Src, src); 
    output.RenderBeginTag(HtmlTextWriterTag.Img); 
    output.RenderEndTag(); 
       <-- What is the HTML now? Maybe look in OnPreRenderComplete event? 

    } 
+0

'HtmlTextWriter' क्या से आता है? – SLaks

+0

यह तीसरे पक्ष के नियंत्रण की ओवरराइड रेंडर घटना को पारित कर दिया गया है। –

उत्तर

9
StringWriter w = new StringWriter(); 
HtmlTextWriter h = new HtmlTextWriter(w); 

ctl.RenderControl(h); 

return w.ToString(); 

जाहिर है, आप कनेक्शन ठीक से बंद करने के लिए मिला है। लेकिन यह मोटे तौर पर यह है; मैंने यूनिट परीक्षण के लिए यह किया था, लेकिन मैं क्षमा चाहता हूं, इस समय मेरे सामने सही कोड नहीं है।

एचटीएच।

+0

मेरे पास कोई नियंत्रण नहीं है। यह सिर्फ कोड में बनाया गया एक img टैग है। एक मौजूदा HtmlTextWriter से शुरू होने वाले समाधान की तलाश में है जो HttpWriter का उपयोग करता है। –

+0

ठीक है, तो, क्या आप कुछ कोड पोस्ट कर सकते हैं कि आप HttpWriter या HtmlTextWriter के साथ कैसे काम कर रहे हैं, तो मैं बेहतर सलाह दे सकता हूं? –

+0

प्रश्न में मेरा जोड़ा देखें। –

3

यह आप के लिए काम करना चाहिए:

 output.AddAttribute(HtmlTextWriterAttribute.Src, src); 
     output.RenderBeginTag(HtmlTextWriterTag.Img); 
     output.RenderEndTag(); 

     string html = output.InnerWriter.ToString(); 

आशा इस मदद करता है।

+6

यह उस प्रकार को पकड़ लेगा जो HttpWriter है। –

+1

हम्म ... यह मेरे लिए काफी अच्छा काम करता है। http://img405.imageshack.us/img405/1568/57208217.png – philipproplesch

+0

यह केवल तभी काम करता है जब आपने HtmlWriter yourserlf बनाया और स्ट्रिंगवाइटर को पास कर दिया। यहां आप स्ट्रिंगवाइटर को कॉल कर रहे हैं। ToString()। –

संबंधित मुद्दे