Area چیست و چگونه در Asp.net core ایجاد می شود
یکی از قابلیت هایی که در Asp.net Mvc و Asp.net core وجود دارد ناحیه ها یا Area می باشد. با ما همراه باشید تا به شما نشان دهیم Area چیست و چگونه در Asp.net core ایجاد می شود .
Area چیست؟
پروزه های نرم افزاری گاهی دارای بخش های مختلفی می باشد و می تواند بسیار بزرگ باشد.
به عنوان مثال فرض کنید یک سایت آموزشی که دارای یک بخش مقالات، یک بخش انجمن و پرسش و پاسخ، یک بخش فروشگاه و … باشد.
در این حالت می توان همه این بخش ها را در همان پوشه های Model و Controller و Views ایجاد کرد. اما مشکلی که وجود دارد این می باشد که مدیریت این بخش ها بسیار سخت می شود چون که تعداد کلاس ها بسیار زیاد می شود.
در این موارد بهتر از هر بخش را جداگانه در یک ناحیه یا Area ایجاد کنیم. هر Area خود مانند یک پروژه واقعی می باشد. یعنی دارای بخش های Model، Controller و Views می باشد.
اما در ادامه Area چیست و چگونه در Asp.net core ایجاد می شود ببینیم چگونه می توان یک Area را بوجود آورد.
Area چیست؟
یک پروزه جدید از نوع Asp.net core 2 را ایجاد می کنیم :
روی دکمه Ok کلیک کنید تا پروژه خالی ایجاد شود.
همانگونه که مشاهده می فرمایید ساختار یک پروژه خالی مانند تصویر بالا می باشد. اما اگر قرار باشد پروژه بزرگ باشد بایستی ناحیه های مختلفی را در نظر گرفت. بنابراین روی نام پروژه Right Click کرده و گزینه Add و سپس Area را انتخاب نمایید.
یک نام برای Area انتخاب کنید. در این مثال ما نام Test را انتخاب می کنیم. به فایل Startup.cs مراجعه کنید و کدهایی که در تصویر بعدی مشخص شده است را به متد Configure اضافه نمایید.
در تصویر بالا ما یک route جدید را اضافه کرده ایم چون هر area یک مسیر جدید می باشد.
در قسمت name نیز می توانید هر اسمی را برای Area انتخاب کنید که در این مثال ما همان نام Test را انتخاب کرده ایم. به تصویر زیر دقت کنید.
همانگونه که مشاهده می فرمایید یک پوشه جدید به نام Area به وجود امده است که ناحیه Test درون آن می باشد. این ناحیه خود دارای Model و Controller و Views می باشد.
روی Controller کلیک راست کرده و یک کنترلر جدید را ایجاد کنید و نام آن را MyAreaController بگذارید.
همچنین برای استفاده از این کنترلر بالای Atrribute به نام Area و داخل آن نام Area را نیز در بالای کنترلر استفاده کنیم. در تصویر زیر همه چیز مشخص است
دقت نمایید برای صدا زدن یک اکشن درون یک Area به صورت زیر عمل می کنیم
سلام
چطور برای ما گزینه area وجود ندارد
سلام در نسخه های جدید این گزینه حذف شده. یک پوشه به نام areas ایجاد کنید خودتون
موفق باشید