मान लें कि मेरे पास मेरे एएसपी.नेट एमवीसी 3 एप्लिकेशन में निम्न संरचना है।मेरा .cshtml पृष्ठ को सामग्री को परिभाषित करने की आवश्यकता क्यों है?
- आइटम
- Index.cshtml
- श्रेणियाँ
- साझा
- _Index.cshtml
- _Site.cshtml
- Index.cshtml
दोनों Index.cshtml
फ़ाइलें लेआउट पेज के रूप में इस्तेमाल करते हैं और _Index.cshtml
_Index
_Site
लेआउट के अंदर नीडिंत है।
Items/Index
_Index
में परिभाषित वैकल्पिक अनुभाग लागू करता है। Shared/Index
खाली है।
Items/Index
देखें ठीक काम करता है। चूंकि श्रेणियों में कोई अनुक्रमणिका नहीं है, इसलिए यह साझा फ़ोल्डर में से एक का उपयोग करता है। यह काम नहीं करता।
यह
"RenderBody" विधि लेआउट पेज के लिए बुलाया नहीं किया गया है "~/दृश्य/साझा/_Index.cshtml" त्रुटि फेंकता है।
_Site
तो कॉल RenderBody
, और _Site
से _Index
इनहेरिट करती है, _Index
में सामग्री की आवश्यकता RenderBody
कॉल को पूरा नहीं करता है और Shared/Index.cshtml
खाली हो सकता है?
कारण मैं पूछता हूं क्योंकि मेरे पास एक एएसपी.नेट एमवीसी 1 एप्लिकेशन है जो मास्टर पेजों का उपयोग करके इस संरचना को कार्यान्वित करता है और यह ठीक काम करता है, लेकिन इसे रेज़र के साथ एमवीसी 3 में परिवर्तित करने से यह समस्या हो रही है।
_Site.cshtml
<!DOCTYPE html>
// head
<body>
@RenderBody()
</body>
_Index.cshtml
@{
Layout = "~/Views/Shared/_Site.cshtml";
}
<div id="sub-menu">
// Markup
</div>
// More markup
@RenderSection("SectionOne", required: false)
@RenderSection("SectionTwo", required: false)
आइटम/Index.cshtml (कार्य)
:यहाँ मैं क्या वर्णन कर रहा हूँ की बुनियादी रूपरेखा है
@{
Layout = "~/Views/Shared/_Index.cshtml";
}
@section SectionOne {
// Markup
}
साझा किया गया /Index.cshtml (RenderBody त्रुटि)
@{
Layout = "~/Views/Shared/_Index.cshtml";
}
// Rest of this file is empty
मेरा _Index.cshtml हालांकि @RenderBody को कॉल नहीं करता है। _Index बस _Site से अनुभाग लागू करता है, और कुछ नए परिभाषित करता है। फिर आइटम/इंडेक्स _Index अनुभागों में से कुछ लागू करता है। बस। – Brandon
@ ब्रैंडन - शायद यह मदद करेगा यदि आपने कुछ बुनियादी सीएसटीएमएल कोड दिखाया है, क्योंकि मैं समझ नहीं पा रहा हूं कि आप क्या वर्णन कर रहे हैं। –
अद्यतन प्रश्न। हो सकता है कि मैं नेस्टेड पृष्ठों को सही ढंग से कार्यान्वित नहीं कर रहा हूं, लेकिन मूल रूप से इसकी संरचना है। – Brandon