آموزش ASP.NET Core MVC

قراردادهای MVC

با عرض سلام خدمت تمام همراهان سایت میزفا ، با یکی دیگر از جلسات آموزش طراحی وبسایت با ASP.NET Core MVC در خدمت شما عزیزان هستیم . در جلسه گذشته به معرفی گونه های مختلف MVC پرداختیم. در این جلسه‌ از آموزش ASP.NET به معرفی  قراردادهای MVC می‌پردازیم.

قراردادهای MVC

از دو نوع قرارداد در پروژه های MVC می توانیم نام ببریم. نخستین گروه، پیشنهادهایی هستند برای نظم دادن به ساختار پروژه. به عنوان مثال، بهتر است فایل های جاوا اسکریپت و CSS رادر پوشه‌ی wwwroot/lib جای دهید. این محلی است که سایر برنامه نویسان MVC انتظار یافتن آنها را داشته و از سویی دیگر ، ویژوال استدیو آنها را در همین محل نصب می‌کند ( به وسیله‌ی Package Manager که مدیریت بسته ها را بر عهده دارد ). با این حال ، چنانچه این فایل‌ها را در محلی دیگر هم ذخیره کنید، تاجایی که تگ های link و script موجود در بخش head صفحه ها به مکان درست آنها اشاره می‌کنند ، مشکلی در اجرای پروژه پیش نخواهد آمد.

دومین نوع قراردادها مربوط به مفهومی به نام قرارداد بر پایه‌ی پیکربندی (Convention Over Configuration) می‌شود. به طور مثال ، بر پایه این مفهوم ، تا جایی که از قرارداد مشخصی در مورد نام گذاری فایل ها پیروی می‌کنید ، نیازی به تعریف ارتباط بین نماها و کنترلرهای مربوط به آنها (و همین طور متد اکشن داخل کنترلر)، نخواهید داشت. نامگذاری درست ، مشخص می‌کند کدام کنترلر مربوط به کدام نما است.

قراردادهای مربوط به کنترلرها

پسوند نام های کلاس های کنترلر باید Controller باشد. مانند،ProductController یا AdminController . هنگامی که از کنترلر در محل دیگری از پروژه به عنوان مثال در یک فایل cshtml در یک تگ ، استفاده می کنید ، تنها از بخش نخست استفاده می‌کنید (Product یا Admin).
MVC به صورت خودکار Controller را اضافه کرده و سعی بر یافتن کلاس آن در پروژه می‌کند.

قراردادهای مربوط به نماها

نما ها در پوشه ای به آدرس Views/ControllerName ذخیره می‌شوند. بنابراین محل نمایی مربوط به کنترلر ProductController مسیری به شکل Views/Product است.

از نظر MVC نمای پیش فرض برای متد اکشن، نمایی هم نام آن متد است. بنابراین، نمای مربوط به اکشنی به نام List به صورت List.Cshtml نام گذاری می شود. به شکل کامل تر، نمای مربوط به اکشن List در کنترلرProducterController، مسیر و نامی به صورت Views/Product/List.cshtml/ خواهد داشت. نماهای پیش فرض ، زمانی که متد ()View را در متد اکشن به فرم زیر فراخوانی می‌کنید، برگشت داده می‌شوند:

return View()

برای نمایش نمای دیگری به غیر از نمای پیش فرض، باید از آن نام ببرید:

return View("MyOtherViews")

توجه کنید که اثری از پسوند فایل و یا مسیر آن در فرمان های بالا نیست. برای یافتن نما ،MVC  ابتدا پوشه ای هم نام کنترلر و پس از آن مسیر  Views/Shared/ را جست و جو می کند. معنی آن این است که می توانید پوشه هایی رادر چندین کنترلر کاربرد دارند در پوشه Shared جای دهید و MVC قادر به یافتن آنها خواهد بود.

قراردادهای مربوط به الگوی صفحه ها

بر اساس قراردادهای پیش فرض MVC، الگوهای صفحات cshtml باید با نماد (آندرلاین) _ شروع شده و در پوشه‌ی Views/Shared ذخیره شوند. چنین الگویی به صورت پیش فرض بر اساس فایل Views/_ViewStart.Cshtml/ به همه ی صفحه هایی که الگویی برای خود مشخص نکنند ، اعمال می شود. از سویی دیگر ، با تغییر فایل ViewStart.Cshtml_ می‌توانید الگویی دیگر را برای صفحات پروژه معرفی کنید.

@{
   Layout = "~/_MyLayout.Cshtml";
}

ودر پایان ، برای اینکه صفحه ای دارای الگو نباشد ، می‌توانید با دستور زیر آن را غیر فعال کنید:

@{
   Layout=null;
}

به پایان این جلسه آموزشی رسیدیم در صورتی که در مورد مقالات آموزشی MVC سوالی داشتید حتما در قسمت نظرات این مقاله آموزشی مطرح کنید.

برچسب ها

آرزو ابراهیمی

بیش از 4 سال است که زمینه طراحی و توسعه سایت فعالیت می‌کنم، طراح و برنامه نویس انواع سامانه‌های تخصصی پزشکی، مناقصات، فروشگاهی و ... بودم و هستم و هدفم در سایت میزفا ارائه اطلاعات بروز و ناب در زمینه طراحی سایت است. تا از این طریق بتونم تجربیات و دانسته های خودم را با تمامی علاقمندان به مباحث طراحی سایت به اشتراک بزارم .

نوشته های مشابه

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا
سایت خود را در گوگل مدیریت کنید + ۱۵ ساعت فیلم آموزشیجزئیات بیشتر اینجا کلیک کنید
بستن
با موفقیت ثبت شد، میزفا از شما برای عضویت در خبرنامه هفتگی تشکر میکند.

عضویت در خبرنامه هفتگی برای دریافت:

  • فیلم و مقاله رایگان سئو
  • آموزش‌های UX ، GA و GTM
  • مقاله های تخصصی ASP.NET Core
  • اطلاع رسانی از محصولات
ترک میزفا خوب نیست!
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر
دوره سئو، رایگان شد.
یک چیز متفاوت تجربه کنید
کاراکتر اشاره گر