2011-05-03 15 views
12

मैं कुछ लेआउट (_ViewStart में परिभाषित) हटाने की कोशिश कर समय बिताया का उपयोग कर:यह कोड लेआउट को क्यों नहीं हटाता है?

@Layout = "" 

और

@Layout = null 

क्यों यह केवल ब्लॉक का उपयोग काम करता है?

@{ 
    Layout = ""; 
} 

मेरी दृष्टि में, दोनों तरीकों से काम करना चाहिए।

उत्तर

15

@Layout एक कोड गूंज है।
यह Layout संपत्ति का मूल्य प्रिंट करता है।

Layout शब्द के बाद रेजर पार्सर अंतरिक्ष पर रुक जाता है, इसलिए = null को शाब्दिक मार्कअप के रूप में पार्स किया जाता है।

आप एक कथन निष्पादित करना चाहते हैं, एक मूल्य मुद्रित नहीं करना चाहते हैं, इसलिए आपको ब्लॉक (@{ ... }) कोड का उपयोग करने की आवश्यकता है।

अधिक जानकारी के लिए, my blog post देखें।

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