تعریف مسیر (Route) برای Area در Asp.net core 3
سلام من در حال استفاده از Asp.net core 3 برای پروژه خودم هستم. در پروژه من چند Area وجود داره که اونها رو ایجاد کردم
- AdminArea
- UserArea
در فایل startup.cs و در متد configure مسیرها یا Route ها رو تعریف کردم ولی متاسفانه خطا میده و سیستم Routing رو نمیشناسه. من از این کدها دقیقا در Asp.net core 2.2 هم استفاده کردم قبلا و مشکلی نداشته اما ظاهرا توی Core 3 خطا داره و نمیشناسه.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
//For Area
app.UseMvc(routes =>
{
routes.MapRoute(
name: "AdminArea",
template: "{area:exists}/{controller=UserHome}/{action=Index}/{id?}"
);
});
ساختار بالا مربوط به Asp.net core 2.2 هست که توی نسخه 3 تغییر کرده. اگر ممکنه مثالی از ایجاد Routing در Asp.net core 3 بزنید. ممنون
در Asp.net core 3 سیستم مسیردهی یا Routing قدری تغییرا داشته و اختصاصی تر شده. شما برای تعریف مسیر و همچنین برای ایجاد مسیر مورد نظر خودتون برای Area باید به شکل زیر عمل کنید
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
//For Area
app.UseEndpoints(routes =>
{
routes.MapAreaControllerRoute(
name: "AdminPanel",
areaName: "AdminArea",
pattern: "{area:exists}/{controller=AdminHome}/{action=Index}/{id?}");
});
همونطور که مشاهده می کنید برای تعریف مسیرهای عادی از MapControllerRoute و برای تعریف مسیر Area از MapAreaControllerRoute استفاده میشه. همچنین متد MapAreaControllerRoute دارای 3 متغیر به نام name و areaName و pattern هست که باید مقداردهی بشه.
موفق باشید
برای تعریف یک Route جدید از نوع Area در Asp.net core 3 میتونید به صورت زیر هم انجام بدید این کار رو
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
endpoints.MapAreaControllerRoute(
"admin",
"admin",
"Admin/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
"default", "{controller=Home}/{action=Index}/{id?}");
});
- آموزش استفاده از SignalR در Asp.net Core با مثال عملی
- ادغام چند گزارش استیمول سافت بصورت پی دی اف در یک فایل
- نحوه تغییر استایل کامپوننت select2 چگونه است ؟
- چگونه امنیت پروژه را در Asp.net Core افزایش دهیم ؟
- ارسال پارامتر در دستور window.open جی کویری
- ارسال پارامتر از طریق جاوااسکریپت با کلیک روی تگ a
- خطای 500 زمان اجرا شدن پروژه روی هاست
- کویری نویسی در استیمول سافت جهت فیلتر اطلاعات
- نمایش صفحه در پنجره جدید با کلیک روی لینک (تگ a) در Asp
- افزودن مقادیر به صورت دستی به List دریافت شده از ریپازیتوری
- کار با CkEditor با قابلیت آپلود عکس
- خطا در ایجاد migration در Asp.net core
- تفاوت های Asp.net core و Asp.net mvc چیه؟
- دلیل اسپم شدن ایمیل های ارسالی از سرور
- نحوه لایه بندی پروژه Core و اضافه کردن به IIS
- ارسال ایمیل در Asp.net core
- آیا میشه در mvc core از کامپونت استفاده کرد
- آپلود فایل در Asp.net core چگونه است؟
- حذف کامل یک رکورد در جدول ریلیشن شده
- اشکال در آپلود فایل ویدیو در mvc core 2