با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش ASP.NET MVC ، را دنبال می کنند. در بخش قبلی توضیحاتی برای آشنایی مقدماتی با layout view در ASP.NET MVC و نحوه ی عملکرد آن ارائه کردیم. حالا سوال چگونگی ایجاد layout view در ASP.NET MVC مطرح می شود. مراحل ایجاد layout view در ASP.NET MVC بسیار ساده و آسان است. در ادامه ی آموزش این بخش ما چگونگی ایجاد layout view در ASP.NET MVC را ارائه کرده ایم.
برای ایجاد layout view در برنامه ی Visual Studio، روی فولدر shared راست کلیک کرده و مسیر ..select Add -> New Item را انتخاب نمایید.
در پنجره ی Add New Item گزینه ی (MVC 5 Layout Page (Razor را انتخاب کرده و پس از تایپ نام “_myLayoutPage.cshtml
” برای صفحه ی layout روی Add کلیک کنید.
سپس شما فایل _myLayoutPage.cshtml
را مشاهده خواهید کرد:
1 2 3 4 5 6 7 8 9 10 11 12 | <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> </head> <body> <div> @RenderBody() </div> </body> </html> |
حالا، تگ <footer>
را با متد (RenderSection("footer",true
به همراه سایر طراحی ها، اضافه کنید.
به این نکته توجه کنید که ما این بخش را ضروری می سازیم. این به این معنی است که هر نمایه که از فایل _myLayoutPage
استفاده می کند، به عنوان layout view باید یک بخش footer داشته باشد.
مثال- افزودن RenderSection :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> @Styles.Render("~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> <body> <div> @RenderBody() </div> <footer class="panel-footer"> @RenderSection("footer", true) </footer> </body> </html> |
حالا می خواهیم از فایل _myLayoutPage.cshtml
با Index view از HomeController استفاده کنیم.
شما می توانید یک Index view خالی را با راست کلیک روی متد اجرایی Index از HomeController و سپس Add View را انتخاب کنید.
Empty را در قالب scaffolding و _myLayoutPage.cshtml
را به عنوان layout view انتخاب کرده و سپس روی Add کلیک کنید.
سپس فایل create Index.cshtml نمایش داده خواهد شد:
1 2 3 4 5 6 | @{ ViewBag.Title = "Home Page"; Layout = "~/Views/Shared/_myLayoutPage.cshtml"; } <h2>Index</h2> |
حالا یک نمایه Index ایجاد کرده ایم که از _myLayoutPage.cshtml
به عنوان یک layout view استفاده می کند.
حالا ما یک بخش footer نیز به طراحی اضافه می کنیم. زیرا _myLayoutPage
به یک بخش footer نیاز دارد:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @{ ViewBag.Title = "Home Page"; Layout = "~/Views/Shared/_myLayoutPage.cshtml"; } <div class="jumbotron"> <h2>Index</h2> </div> <div class="row"> <div class="col-md-4"> <p>This is body.</p> </div> @section footer{ <p class="lead"> This is footer section. </p> } </div> |
در نهایت پس از اجرای برنامه Index view را مشاهده خواهید کرد که شامل body و footer است.
در تکمیل مباحث قبلی و در این بخش به مباحث چگونگی ایجاد layout view در ASP.NET MVC پرداختیم. همانطور که مشاهده کردید ایجاد layout view در ASP.NET MVC بسیار آسان بوده و در کاهش حجم کدهای صفحه وب نیز تاثیر بسزایی دارد.