این جلسه از آموزش ASP.NET Core به مباحث View Start و View Imports در ASP.NET Core اختصاص خواهد داشت و به بررسی و مزایای استفاده از این امکانات خواهیم پرداخت. هر دو امکانات ذکر شده به توسعه دهندگان امکان تجربه بهتر از کدنویسی به خصوص در View را میدهد.
View Start چیست؟
View Start در واقع یک فایل از نوع نما میباشد که امکان تعریف Layout را برای تمامی نماها محیا میکند. پسوند این فایل بسته به زبان برنامه نویسی cshtml و یا vbhtml میباشد. اولویت تنظیمات این فایل براساس سلسله مراتب وجود آن در برنامه میباشد.
View Start
View Start یک فایل با پسوند cshtml در صورت توسعه کد با زبان سی شارپ و یا vbhtml در صورت توسعه کد با زبان VB میباشد. کدهای درون این فایل زودتر از کدهای درون باقی نماها اجرا میگردد. این فایل بهتر است در پوشه Views ایجاد گردد تا Layout مربوطه، بروی تمامی نماها اعمال گردد. ولی امکان ایجاد آن در تمامی زیرپوشه های Views نیز وجود دارد که در آن حالت Layout مربوطه فقط بروی نماهای آن زیر پوشه اعمال میگردد.
البته این امکان همچنان وجود دارد که برای یک View از Layout مجزا استفاده نمود که این موضوع با استفاده از تنظیمات Layout درون آن نما (جلسه 24) میسر میشود. علاوه بر موارد فوق در صورت قراردادن Layout برابر مقدار null آن نما بدون فایل Layout پردازش میگردد. اولویت انتخاب Layout در صورت استفاده از این امکانات به صورت سلسله مراتبی و با اولویت زیر میباشد.
- Layout درون فایل View که در جلسه 24 شرح داده شد
- ViewStart درون زیر پوشه مربوطه
- ViewStart درون ریشه پوشه Views
استفاده از این فایل به شما این امکان را میدهد که Layout تمامی نماها را در یک محل تعیین کنیم. این قابلیت، نگهداری کد در آینده را تسهیل نموده و ورود کدهای تکراری (که برخلاف نظریه خودت را تکرار نکن -Don’t Repeat Yourself- میباشد) برای تعیین Layout در هر View را حذف میکند. به عنوان مثال فرض کنید وب اپلیکشن شما حاوی بیش از صد View میباشد و شما به هر دلیلی قصد تغییر فایل Layout را داشته باشید. در این حالت علاوه بر زمانبر بودن تغییر فایل Layout در تمامی نماها امکان بروز خطا نیز جود دارد.
نمایی از فایل ViewStart.cshtml
1 2 3 4 5 6 7 8 9 10 11 12 13 |
@{ Layout = "Layout File Name"; } //For Instance @{ Layout = "_MainLayout"; } |
View Imports چیست؟
View Imports فایلی است که درون آن میتوان فضای نامهای مشترک (Namespace) و یا دایرکتیوهای مشترک مختلف مانند AddTagHelper, Inject, Model و موارد مشابه را اضافه نمود. این فایل به ما این امکان را میدهد تا در نماهای مختلف دیگر، نیاز به وارد نمودن موارد مشابه نداشته باشیم.
View Imports
View Imports یک فایل با پسوند cshtml در صورت توسعه کد با زبان سی شارپ و یا vbhtml در صورت توسعه کد با زبان VB میباشد . این فایل بهتر است در پوشه Views ایجاد گردد ولی امکان ایجاد آن در تمامی زیرپوشه های Views نیز وجود دارد. اولویت اعمال تنظیمات این فایل به صورت سلسله مراتبی میباشد. اولویت اول با فایل ViewImports درون زیر پوشه و بعد با فایل درون ریشه پوشه Views.
درون این فایل فضای نامهای (Namespace) مشترک و همچنین دایرکتیوهای مشترک بین نماها (Views) مانند Inject، AddTagHelper، Model و موارد مشابه ذخیره میگردد تا دیگر نیاز به وارد نمودن آنها در نماها نباشد. همچنین فابل ذکر است که فضانام ها میبایست با استفاده از دایرکتیو @using به فایل اضافه گردند.
نمایی از فایل ViewImports.cshtml
1 2 3 4 5 6 7 |
@using DailyCostWebApplication.ViewModels; @using DailyCostWebApplication.Models; @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers |
در صورت نیاز به جزئیات بیشتر، میتوانید ویدئو آموزشی این جلسه را تماشا نمایید. همچنین برای آگاهی از جلسات بعدی این دوره آموزشی، ما را در اینستاگرام، تلگرام، یوتیوب و آپارات دنبال کنید. همچنین لیست کامل جلسات در این قسمت در دسترس شما میباشد.
دانلود اسلایدهای آموزشی این جلسه از اینجا