2011-07-06 13 views
109

मेरी cshtml फाइलों में मैं इस तरह सामान के साथ ब्लॉक के एक बहुत कुछ है के भीतर प्रदर्शित एचटीएमएल:MVC3 उस्तरा: कोड ब्लॉक

@if(Model.foo) 
{ 
    <span>Hello World</span> 
} 

एकमात्र कारण काल ​​है वहाँ है, क्योंकि मैं किसी अन्य तरीके से नहीं मिल सकता है यह पहचानने के लिए मजबूर करने के लिए कि "हैलो वर्ल्ड" एचटीएमएल का हिस्सा है जब तक कि मैं इसे HTML टैग में घेर नहीं लेता। क्या उस कोड से बचने का कोई अच्छा तरीका है जिसमें प्रदर्शन में अर्थहीन टैग जोड़ने शामिल नहीं है?

उत्तर

195

आप @: इस्तेमाल कर सकते हैं से बचने के लिए:

@if(Model.foo) 
{ 
    @:Hello World 
} 

या विशेष <text> टैग जो जवाब में outputted नहीं है:

@if(Model.foo) 
{ 
    <text>Hello World</text> 
} 
9

आप के रूप में नीचे में पाठ जोड़ सकते हैं:

@if(Model.foo) 
{ 
    @:Hello World 
} 

जब आप @ रेज़र का उपयोग करते हैं तो इसे कोड ब्लॉक मोड पर स्विच करें। इसलिए आपको ऊपर के रूप में टेक्स्ट निर्दिष्ट करने की आवश्यकता है।

8
<text>Explicit HTML<text> 

@(Explicit C#) 
7

कई डेवलपर्स .. ऊपर कई मायनों प्रदान की यहाँ एक और जो MVC 4 में ठीक काम कर रहा है .. मुझे आशा है कि यह MVC 3 के लिए भी काम करेगा गया है ..

@if(Model.foo) 
{ 
    @Html.Label("Hello World") 
} 
संबंधित मुद्दे