2013-10-04 2 views
8

में सशर्त खंड प्रस्तुत मैं अपने _Layout.cshtml में कोड निम्नलिखित है:ASP.NET MVC - लेआउट

@if (SiteConfig.Instance.HasCustomMarkup) 
{ 
    @RenderSection("bodyPart1", false) 
    @RenderBody() 
    @RenderSection("bodyPart2", false) 
} 
else 
{ 
    <div id="mainContainer"> 
     @RenderBody() 
    </div>   
} 

तो मैं केवल कुछ शर्त पर वर्गों रेंडर करने के लिए प्रयास करें। लेकिन यह काम नहीं है और मेरे पास अपवाद है:

The following sections have been defined but have not been rendered for the layout page ... 

क्या इस प्रयोजनों के लिए एमवीसी में कोई कामकाज है? धन्यवाद!

उत्तर

18

सीधे शब्दों में प्रतिक्रिया के लिए यानी जाँच किया जाए या नहीं अनुभाग मौजूद है, .:

@if (IsSectionDefined("bodyPart1")) 
{ 
    @RenderSection("bodyPart1") 
} 
+1

धन्यवाद! यह हमेशा मेरे मामले में परिभाषित किया जाता है। लेकिन मुझे वह समाधान मिला जो काम करता है - लपेटें अनुभाग परिभाषा टैग में, फिर खंडों को परिभाषित करें यदि कुछ शर्त रन-टाइम पर सच है, और इस तरह मुझे अपवाद नहीं मिला है। – igorGIS

+2

@igorGIS कृपया अपना उत्तर पोस्ट करें :) – Rachael