2008-11-07 8 views
5

मैं एक HTML फॉर्म डिज़ाइनर विकसित कर रहा हूं जिसे स्थिर HTML उत्पन्न करने और उपयोगकर्ता को यह दिखाने की आवश्यकता है। मैं इस तरह बदसूरत कोड लिखने रखना:सी # 3.0 में, क्या कोई कक्षाएं हैं जो मुझे स्थिर HTML उत्पन्न करने में मदद करती हैं?

public string GetCheckboxHtml() 
{ 
    return ("<input type="checkbox" name="somename" />"); 
} 

दृढ़ता से टाइप किये गए वर्गों कि एचटीएमएल तत्वों का वर्णन है और मुझे इस के बजाय की तरह कोड लिखने की अनुमति का एक सेट नहीं है:

var checkbox = new HtmlCheckbox(attributes); 
return checkbox.Html(); 

मैं सिर्फ यह कर सकते हैं ' Google में उपयोग करने के लिए सही या सही खोज शब्द देखने के लिए सही नामस्थान के बारे में सोचें।

उत्तर

5

ठीक है, आप ASP.NET MVC DLL का (जो आप में परियोजना ... कंसोल ऐप्स भी शामिल किसी भी प्रकार का उपयोग कर सकते हैं) ... कई HTML सहायकों तो आप उपयोग कर सकते हैं वे डाउनलोड करते हैं।

+0

मुझे यह समाधान बहुत पसंद है। मैं शायद इसका उपयोग करने जा रहा हूँ। मुझे विश्वास नहीं है कि मैं एएसपी.नेट एमवीसी एचटीएमएल हेल्पर्स के बारे में भूल गया था। धन्यवाद! –

2

एक विकल्प XElementfunctional construction का उपयोग करना है। उदाहरण कैलेंडर जनरेटर के लिए this blog post देखें। आप System.Web.UI.HtmlControls नाम स्थान में कक्षाएं इस्तेमाल कर सकते हैं

var input = new XElement("input", 
    new XAttribute("type", "checkbox"), 
    new XAttribute("name", "somename")); 

return input.ToString(); 
2

:

आपके मामले में, अपने HTML के साथ उत्पन्न किया जा सकता है। फिर आप एचटीएमएल सामग्री उत्पन्न करने के लिए रेंडरकंट्रोल का उपयोग कर सकते हैं।

HtmlInputCheckBox box = new HtmlInputCheckBox(); 

StringBuilder sb = new StringBuilder(); 
using(StringWriter sw = new StringWriter(sb)) 
using(HtmlTextWriter htw = new HtmlTextWriter(sw)) 
{ 
    box.RenderControl(htw); 
} 
string html = sb.ToString(); 
+0

यह एक अच्छा समाधान जैसा प्रतीत होता है, हालांकि मैं एएसपी.नेट में शामिल एचटीएमएल नियंत्रणों की "भारी" प्रकृति के बारे में चिंतित हूं। मेरे पास एएसपी.नेट वेबफॉर्म (मैं एएसपी.नेट एमवीसी पसंद करता हूं) के लिए बहुत परेशान है जो मुझे पूर्वाग्रह कर सकता है। हालांकि मैं वास्तव में आपके इनपुट की सराहना करता हूं। –

+0

असल में, मैं आपसे सहमत हूं =) –

0

HtmlTextWriter में "WriteStartTag" और "WriteEndTag" जैसी उपहार शामिल हैं, जिनका उपयोग ठीक से बनाए गए HTML को आसानी से बनाने के लिए किया जा सकता है।

आप अनिवार्य रूप से टैगनाम और विशेषताओं को HtmlTextWriter में पास करते हैं, और यह उचित HTML उत्पन्न करता है, और इसे WriteEndTag के साथ ठीक से बंद कर देगा।

आप प्री-लिखित HTMLControls का भी उपयोग कर सकते हैं जो इस कोड को दृढ़ता से टाइप किए गए वर्गों में लपेटते हैं।

0

सिस्टम.एक्सएमएल का उपयोग करने पर भी विचार करें। इसका उपयोग करके, आप लगभग गारंटी देते हैं कि आपका एचटीएमएल एक्सएचटीएमएल अनुरूप है।

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

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