2009-04-04 10 views
18

यह एक साधारण सवाल है: सर्वर-साइड मूल्यांकन के आधार पर, सर्वर द्वारा लौटाए जाने से एएसपीएक्स वेब फॉर्म पर एचटीएमएल का एक टुकड़ा कैसे बाहर कर सकता हूं?एएसपी.NET वेबफॉर्म में एचटीएमएल के ब्लॉक को छोड़कर

मैं विशेष रूप से नियंत्रण के बारे में बात नहीं कर रहा हूं क्योंकि उनके पास दृश्यमान पैरामीटर हैं, बल्कि कुछ कच्चे HTML हैं।

उत्तर

8
<div id="divYourDiv" runat="server"> 
    your stuff goes here... 
</div> 

//Server side code... 
public void ShowYourDiv(bool visible) 
{ 
    this.divYourDiv.Visible = visible; 
} 
+0

मैं codebehind से divYourDiv तक पहुंच नहीं प्रतीत कर सकता हूं। क्या यह सुलभ बनाने के लिए मुझे पहले कुछ करने की ज़रूरत है? – devios1

+1

सुनिश्चित करें कि आप runat = "server" सेट करें – bytebender

0

इसके माध्यम से/इसे एक छिपे हुए div या पैनल में सेट करें (यदि div का उपयोग करते हैं, तो runat = server चिह्नित करें, दोनों div के रूप में प्रस्तुत करें)। फिर div/पैनल को दृश्यमान बनाएं या इसे अपने मूल्यांकन के आधार पर छुपाएं।

0

क्या आप अपने एचटीएमएल को एएसपी पैनल के अंदर लपेट सकते हैं, और सर्वर-साइड पर पैनल की दृश्य विशेषता सेट कर सकते हैं।

अन्यथा, एचटीएमएल ग्राहक पक्ष है, आपको उपयोग करने के लिए जावास्क्रिप्ट का उपयोग करने की आवश्यकता है। आप अपने सर्वर-साइड कोड के अंदर कुछ जावास्क्रिप्ट प्रस्तुत करने में सक्षम हो सकते हैं, लेकिन यह आमतौर पर एक अच्छा विचार नहीं है।

8

कोड के चारों ओर एक PlaceHolder नियंत्रण रखें। यह अपने लिए कोई कोड प्रस्तुत नहीं करता है (उदाहरण के लिए Panel), इसलिए यह दिखाई देने पर एचटीएमएल कोड में अंतर नहीं करता है।

यदि आप PlaceHolder की संपत्ति को गलत पर सेट करते हैं, तो PlaceHolder के अंदर कोड पृष्ठ पर प्रस्तुत नहीं किया जाएगा।

48

कुछ लोग निम्न विधि पर ऑब्जेक्ट करते हैं लेकिन इसका कोई भी जिसने उत्तर नहीं दिया है और मुझे लगता है कि इसे एक विकल्प के रूप में दिखाया जाना चाहिए। ठीक से इस्तेमाल होने पर यह आसान हो सकता है।

<% if (ShowLabel) {%> 
<label>This will not be shown if the ShowLabel property evaluates false</label> 
<%}%> 

इस काम को करने के लिए आपको शोलेबल नामक आपके पृष्ठ पर सार्वजनिक या संरक्षित संपत्ति होगी जो एक बूलियन लौटाता है।

+0

कूल मैं वास्तव में ऐसा ही पसंद करता हूं। मुझे लगता है कि कुछ पीपीएल कोड और मार्कअप मिश्रण करना पसंद नहीं करते हैं, लेकिन मैं दिल में एक कोडर हूं इसलिए इससे मुझे और अधिक समझ आती है। :) – devios1

+1

कुछ मामलों में यह एकमात्र संभावित समाधान भी है। उदाहरण के लिए यदि आप सशर्त रूप से