स्कॉट "RenderSection()" के लिए एक बिंदु
पहले पैरामीटर पर लिखा सहायक विधि निर्दिष्ट करता है अनुभाग हम लेआउट टेम्पलेट में उस स्थान पर प्रस्तुत करना चाहते हैं उसका नाम। दूसरा पैरामीटर वैकल्पिक है, और हमें को परिभाषित करने की अनुमति देता है कि हम कौन से अनुभाग को प्रतिपादित कर रहे हैं या नहीं। यदि अनुभाग "आवश्यक" है, तो पर रेजर रनटाइम पर एक त्रुटि फेंक देगा कि अनुभाग को लेआउट फ़ाइल पर पर आधारित एक दृश्य टेम्पलेट के भीतर लागू नहीं किया गया है (जो सामग्री त्रुटियों को ट्रैक करना आसान बनाता है)।
तो, रेंडरसेक्शन क्या करता है, टेम्पलेट/दृश्य (सामान्य _Layout नहीं) में परिभाषित एक अनुभाग प्रस्तुत कर रहा है। हमारे व्यू टेम्पलेट में "साइडबार" अनुभाग को कार्यान्वित करने के तहत "थोड़ा सा आगे बढ़ना" वह बताता है कि एक सेक्शन को कैसे कार्यान्वित किया जाए।
तो सब कुछ में, आपके पास "हेड" नामक एक अनुभाग है जो "हेड" नामक एक अनुभाग को एक दृश्य में प्रस्तुत करता है जो नीचे/घोंसला है।
संपादित करें: देखने के लिए मैं नेस्टेड दृश्यों के साथ क्या मतलब http://blogs.msdn.com/b/marcinon/archive/2010/12/15/razor-nested-layouts-and-redefined-sections.aspx पर एक नजर है - लेकिन ध्यान दें कि इस लेख अब एक वर्ष से अधिक पुराना है।
MasterLayout:
@RenderSection("head", false)
SubLayout:
@{
Layout = "~/Views/_MasterLayout.cshtml";
}
@section head
{
RenderSection("head")
}
सामग्री:
@{
Layout = "~/Views/_SubLayout.cshtml";
}
@section head
{
<title>Content-Layout</title>
}
मुझे लगता है कि समझते हैं लेकिन कोड मैं पोस्ट '@section' सिर को परिभाषित करता है और अंदर धनुकोष्ठक फिर से कॉल RenderSection। बाल पृष्ठों में '@ सेक्शन' सिर परिभाषित नहीं किया जाना चाहिए? –