@section
มีไว้สำหรับการกำหนดเนื้อหาจะถูกแทนที่จากมุมมองที่ใช้ร่วมกัน โดยทั่วไปแล้วเป็นวิธีที่คุณสามารถปรับมุมมองที่ใช้ร่วมกันของคุณ (คล้ายกับ Master Page ใน Web Forms)
คุณอาจพบการเขียนสกอตต์ Gu ขึ้นเกี่ยวกับเรื่องนี้น่าสนใจมาก
แก้ไข: อ้างอิงจากการชี้แจงคำถามเพิ่มเติม
@RenderSection
ไวยากรณ์จะเข้าสู่ที่ใช้ร่วมกันดูเช่น:
<div id="sidebar">
@RenderSection("Sidebar", required: false)
</div>
จากนั้นสิ่งนี้จะถูกวางไว้ในมุมมองของคุณด้วย@Section
ไวยากรณ์:
@section Sidebar{
<!-- Content Here -->
}
ใน MVC3 + คุณสามารถกำหนดไฟล์เค้าโครงที่จะใช้สำหรับมุมมองได้โดยตรงหรือคุณสามารถมีมุมมองเริ่มต้นสำหรับมุมมองทั้งหมดก็ได้
การตั้งค่ามุมมองทั่วไปสามารถตั้งค่าได้ใน _ViewStart.cshtml ซึ่งกำหนดมุมมองเค้าโครงเริ่มต้นที่คล้ายกับสิ่งนี้:
@{
Layout = "~/Views/Shared/_Layout.cshtml";
}
คุณยังสามารถตั้งค่ามุมมองที่ใช้ร่วมกันเพื่อใช้ในไฟล์โดยตรงเช่น index.cshtml ได้โดยตรงตามที่แสดงในตัวอย่างข้อมูลนี้
@{
ViewBag.Title = "Corporate Homepage";
ViewBag.BodyID = "page-home";
Layout = "~/Views/Shared/_Layout2.cshtml";
}
มีหลายวิธีที่คุณสามารถปรับการตั้งค่านี้ได้โดยมีการกล่าวถึงอีกสองสามวิธีในคำตอบ SOนี้