मेरी समस्या यह है कि @RenderSection
को नेस्टेड टेम्पलेट से @RenderSection
बेस टेम्पलेट में परिभाषित किया गया है। वर्तमान में, मेरे पास एक नेस्टेड बेस टेम्पलेट है जो कि एक बच्चे टेम्पलेट से जुड़ा हुआ है जिसे तब दृश्य पृष्ठों में उपयोग किया जाता है। जब मैं बेस टेम्पलेट में @RenderSection
को परिभाषित करता हूं और इसे दृश्य पृष्ठों में प्रस्तुत करता हूं तो यह एक त्रुटि फेंकता है।@ नेस्टरेड रेजर टेम्पलेट्स में रेंडरसेक्शन
यहां सही समस्या है।
मैं कस्टम स्क्रिप्ट डालने की अनुमति देने के लिए एक रेंडरसेक्शन बनाना चाहता हूं। मेरे आधार टेम्पलेट ....
<!DOCTYPE html>
<html>
<head>
<title>@ViewBag.Title</title>
@RenderSection("HeaderContent", false) // The region of the header scripts (custom css)
</head>
<body>
@RenderBody()
</body>
</html>
मैं तो बच्चे टेम्पलेट को छोड़ के रूप में मैं वहाँ में किसी भी कस्टम सिर कोड डाल दिया और पृष्ठ स्वयं पर लागू करने के लिए नहीं करना चाहते हैं ..
@section HeaderContent {
<script>alert("hi");</script>
}
मेरी समस्या यह है कि मैं अपने सामान्य पृष्ठों से बेस टेम्पलेट में कस्टम हेड कोड जोड़ने की प्रतीत नहीं कर सकता।
निम्नलिखित अनुभागों को परिभाषित किया गया है लेकिन लेआउट पेज ~/Views/Shared/OneColLayer.cshtml": "HeaderContent
के लिए प्रस्तुत नहीं किया गया है।
क्या मुझे व्यू पेज में बेस टेम्पलेट में पॉइंटर शामिल करने की आवश्यकता है?
@{
Layout = "~/Views/Shared/BaseTemplate.cshtml";
}
मेरा नया आधार टेम्पलेट
<head>
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/layout.css")" />
<link rel="stylesheet" type="text/css" href="@Url.Content("~/content/global.css")" />
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")"></script>
<script type="text/javascript" src="@Url.Content("~/js/fadeInFadeOut.js")"></script>
<title>@ViewBag.Title</title>
@RenderSection("HeaderContent", false)
</head>
<body>
@RenderBody()
</body>
अपने नए बच्चे टेम्पलेट
@{
Layout = "~/Views/Shared/BaseTemplate.cshtml";
}
@RenderSection("HeaderContent", false)
@RenderBody()
मेरे विचार
@{
ViewBag.Title = "Home";
Layout = "~/Views/Shared/OneColLayer.cshtml";
}
@section HeaderContent {
<h1>Left Content</h1>
}
<div>my view content</div>
सामग्री अब oneCol टेम्पलेट आधार टेम्पलेट में रखी हो जाता है ।
परिणाम ...
<div id="Content">
<h1>Left Content</h1>
</div>
है मैं इस विधि कर की कोशिश की है। लेकिन मेरे दृश्य में सामग्री टेम्पलेट पर प्रदर्शित होती है जो इसे मूल टेम्पलेट नहीं देती है। –
@JamesAndrewSmith आपके संपादन के अनुसार, यह आपके मध्य टेम्पलेट पर दिखाई दे रहा है क्योंकि आप अपने प्रस्तुत अनुभाग के अंदर मध्य टेम्पलेट में '@ रेंडरसेक्शन' नहीं डाल रहे हैं। मैं आपको यह दिखाने के लिए मेरा संपादन करूंगा कि आपका क्या दिखना चाहिए। –
मेरे लिए अच्छी तरह से काम किया – Jacques