2011-04-01 22 views
12

क्या कोई व्यक्ति कृपया सलाह दे सकता है कि "सही" विधि HTML सामग्री को गतिशील रूप से एएसपी.NET पृष्ठ में जोड़ने के लिए क्या है?गतिशील रूप से ASP.NET पृष्ठ पर HTML जोड़ें

मुझे निम्नलिखित घोषणात्मक विधि से अवगत है।

//Declaration 
<%= MyMethodCall() %> 


//And in the code behind. 
protected String MyMethodCall() 
{ 
    return "Test Value"; 
} 

क्या कोई बेहतर या सर्वोत्तम अभ्यास तरीका है?

संपादित करें: मैं एक विशिष्ट फ़ोल्डर में स्थित छवियों के आधार पर गतिशील रूप से गैलेरिफ़िक फोटो गैलरी का निर्माण कर रहा हूं।

उत्तर

25

निर्भर करता है कि आप क्या करना चाहते हैं।

नियंत्रण के लिए/पाठ मैं सामान्य रूप से एक LiteralControl उपयोग करें और यह प्रकट करने के लिए एचटीएमएल मैं जोड़ना चाहते हैं तो इस पर नियंत्रण पेज आप चाहते हैं पर कहीं भी जोड़ा जा सकता है चाहता हूँ के रूप में Text गुण सेट

LiteralControl संदर्भ है here

ठीक देख आप Galleriffic के लिए यह चाहते हैं, मुझे लगता है यह होंगे, जैसे छद्म दिखाई देते हैं ...

LiteralControl imageGallery = new LiteralControl(); 
    string divStart = @"<div id='thumbs'><ul class='thumbs noscript'>"; 
    imageGallery.Text += divStart; 
    foreach ([image in images]) 
    { 
     string imageHTML = @"<li><a class='thumb' name='optionalCustomIdentifier' ref='path/to/slide' title='your image title'> 
          <img src='path/to/thumbnail' alt='your image title again for graceful degradation' /></a> 
          <div class='caption'>[caption]<div></li>"; 

     imageGallery.Text += imageHTML; 
    } 
    string divEnd = @"</ul></div>"; 
    imageGallery.Text += divEnd; 

    this.[divOnPage].Controls.Add(imageGallery); 
+0

क्या इस दृष्टिकोण के लाभ के रूप में विधि मैं निर्दिष्ट करने के लिए विरोध कर रहे हैं? पीएस: व्यापक उदाहरण के लिए धन्यवाद! –

+3

यह कोड भयानक है। पुनरावर्तक का उपयोग क्यों नहीं करें? या .aspx में एक के लिए। HTML बनाने के लिए स्ट्रिंग्स को जोड़ना सर्वोत्तम अभ्यास का मेरा विचार नहीं है –

+2

सी # कोड में मार्कअप को सम्मिलित करना पूर्ण अंतिम उपाय होना चाहिए क्योंकि यह एक रखरखाव दुःस्वप्न बनाता है जो कथुलु को गर्व करेगा। कम से कम, उपयोगकर्ता या सर्वर नियंत्रण में encapsulate। – Thomas

6

करने के कई तरीके हैं कि, जो वास्तव में उपयोग करने के लिए आपके परिदृश्य और वरीयता पर निर्भर करता है।

  • वेब उपयोगकर्ता नियंत्रण: गतिशील रूप से जोड़ा जा सकता है और आपको विजुअल स्टूडियो का पूर्ण संपादक समर्थन मिलता है।
  • एक्सएमएल अक्षर (केवल वीबी.नेट): कोड में एचटीएमएल को जल्दी से रखने के लिए बहुत सुविधाजनक तरीका।
  • टेम्पलेट्स: अपने समाधान में एक सादा HTML दस्तावेज़ जोड़ें और इसे संसाधन के रूप में शामिल करें। फिर आपको संपादक का समर्थन मिलेगा और आप HTML कोड के साथ अपने कोड को अव्यवस्थित नहीं करेंगे।
6

Aspx:

<div id="DIV1" runat="server"></div> 

पीछे कोड:

DIV1.InnerHtml = "some text"; 
संबंधित मुद्दे