ما هي Sections في Layout
-
في هذا الدرس بنتعلم عن Sections والي هي عبارة عن أقسام Sections يتم ادراجها في ملف Layout.cshtml_ بغرض إدراج محتوى Views في مواقع محددة داخلها. ويتم تحديد Sections باستخدام Section razor express@ متبوعًا باسم القسم.
يمعنى آخر يمكن استخدام اكثر من View في نفس الوقت باستخدام Sections.
ومثل ما تعودنا حتي نفهم الموضوع بشكل افضل نبدأ بمثال عملي .
ننتقل الى Home Controller ونضيف action باسم SectionsLayout ونضيف الكود التالي :
public IActionResult SectionsLayout()
{
return View();
}
تمام الان نعمل View بالنقر يمين فوق هذا action ونضيف الكود التالي :
@section Top {
This is Top
}
<h2>Sections Layout starts here</h2>
<p>This text is coming from child view</p>
@section Script {
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
}
@section Bottom {
This is Bottom
}
@RenderSection
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
@RenderSection("Top")
<div>
@RenderBody()
</div>
@RenderSection("Bottom")
@RenderSection("Script")
</body>
</html>

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
</head>
<body>
@RenderSection("Top")
<div>
@RenderBody()
</div>
@RenderSection("Bottom")
@RenderSection("Ads")
@RenderSection("Script")
</body>
</html>

- إضافة القسم التالي في SectionsLayout view:
@section Ads {
}
- جعل هذا section في layout page عباره عن Optional Section. مع القسم الاختياري، لن يعطيك ASP.NET Core MVC خطأ حتى إذا كان هذا القسم غير موجود في View. ولجعل هذا ال section اختياري يجب إضافة false الى RenderSection("Ads")@ .
لذا انتقل إلى صفحة Layout الخاصة بك وقم بتغيير الكود من
@RenderSection("Ads")
الى
@RenderSection("Ads", false)
بهذه الطريقة اصبح هذا section اختياري.
أعد تشغيل التطبيق الخاص بك وسيعمل بشكل سليم دون أخطاء.
اترك تعليقك