मैं एक शीर्ष स्तर _Layout.cshtml कि कुछ इस तरह दिखता है: "। उप लेआउट"एमवीसी रेजर में, आप उप-लेआउट के नीचे परिभाषित एक रेंडरसेक्शन कैसे करते हैं?
<html>
<head>
@RenderSection("Header", required: false)
</head>
<body>
@RenderSection("LeftPane", required: false)
@RenderSection("RightPane", required: false)
@RenderBody()
</body>
</html>
तो मैं दो एक केवल वामपंथी अनुभाग को परिभाषित करता है, दूसरा वामपंथ और दाएं भाग दोनों को परिभाषित करता है। इन उप-लेआउट को _LeftPane.cshtml और _LeftPlusRightPane.cshtml कहा जाता है, और उनके पास लेआउट सेट "_Layout.cshtml" है।
फिर प्रत्येक दृश्य .cshtml फ़ाइल में, मैंने लेआउट को या तो _LeftPane.cshtml या _LeftPlusRightPane.cshtml पर सेट किया है, जो कि मैं पृष्ठ पर दिखाना चाहता हूं।
यह सब ठीक काम करता है। समस्या नए "शीर्षलेख" खंड के साथ है जिसे मैंने दस्तावेज़ के <head>
भाग में जोड़ा है। यह खंड उप-लेआउट में परिभाषित नहीं है, बल्कि वास्तविक दृश्यों में। जब मैं इस तरह से कुछ देखने की कोशिश करता हूं, तो मुझे त्रुटि मिलती है:
निम्नलिखित अनुभागों को परिभाषित किया गया है लेकिन लेआउट पेज "~/Views/Shared/_LeftPlusRightPane.cshtml": "शीर्षलेख" के लिए प्रस्तुत नहीं किया गया है।
मैं sublayouts में शीर्षलेख अनुभाग प्रस्तुत नहीं करना चाहता, मैं इसे _Layout.cshtml फ़ाइल में प्रस्तुत करना चाहता हूं। उप-लेआउट के माध्यम से, शीर्ष _Layout तक, निम्न स्तर के दृश्य से परिभाषित शीर्षलेख अनुभाग को "कैसे" से गुजरता हूं?
क्या आप अपने अनुभागों की तरह पेस्ट कर सकते हैं? मुझे लगता है कि आप अलग-अलग विचारों में अनुभागों को सही तरीके से लपेट नहीं रहे हैं। – Fourth
एकमात्र अनुभाग जिसमें मुझे कोई समस्या है, वह नया हैडर अनुभाग है। मेरे दृश्य से एक का एक उदाहरण: @ सेक्शन हैडर { <स्क्रिप्ट प्रकार = "टेक्स्ट/जावास्क्रिप्ट" src = "/ शामिल/छायाबॉक्स-3.0/छायाबॉक्स.जेएस"> } –