एक अन्य लाभ यह हो सकता है कि HtmlTextWriter का उपयोग करके एक क्लीनर (अधिक रखरखाव अनुकूल) तरीके से कोड प्रारूपित कर सकता है, और HtmlTextWriter स्वचालित रूप से एन्कोडिंग HTML का समर्थन करता है। की तुलना करें:
writer.AddAttribute(HtmlTextWriterAttribute.Id, "someId");
if (!string.IsNullOrEmpty(cssClass)) writer.AddAttribute(HtmlTextWriterAttribute.Class, cssClass);
writer.AddStyleAttribute(HtmlTextWriterStyle.Color, "Red");
writer.RenderBeginTag(HtmlTextWriterTag.Span);
writer.WriteEncodedText(text);
writer.RenderEndTag();
बनाम:
StringBuilder html = new StringBuilder();
html.Append("<span");
html.Append(" id=\"someId\"");
if (!string.IsNullOrEmpty(cssClass)) html.AppendFormat(" class=\"{0}\"", HttpUtility.HtmlAttributeEncode(cssClass));
html.Append(">");
html.Append(HttpUtility.HtmlEncode(text));
html.Append("</span>");
यह तर्क हो सकता है कि दूसरे उदाहरण में कोड एक अलग, संभवतः क्लीनर, रास्ते में लिखा जा सकता है, लेकिन इस HtmlTextWriter का एक लाभ के रूप में देखा जा सकता है क्योंकि यह मूल रूप से स्वरूपण के एक कैननिक तरीके को लागू करता है (जो रखरखाव में सुधार करता है)।
संपादित करें: वास्तव में, मैं वास्तव में एक गलती दूसरा टुकड़ा में किए गए, और मैं वापस जाने के लिए और प्रतिक्रिया ठीक करने के लिए की जरूरत है। यह उस बिंदु की पुष्टि करता है जिसे मैं बनाना चाहता था।
स्रोत
2009-04-07 06:36:41
यहां http: // stackoverflow देखें।कॉम/प्रश्न/48 9 6 9 1/उपयोग-एचटीएमएलटीक्स्ट्राइटर-टू-रेंडर-सर्वर-कंट्रोल/48 9 761 # 48 9 761 –