دسته بندی ها
16:31 1398/08/19

تعریف مسیر (Route) برای Area در Asp.net core 3

مشخصات سوال کننده :
کاربر : pedram_khan     امتیاز کاربر : 277     رتبه کاربر : 6
دسته بندی : Asp.net Core

به این سوال امتیاز بدهید    0
تعداد بازدید این سوال : 4044
پاسخ دهنده : fateme 16:34 1398/08/19

در 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 هست که باید مقداردهی بشه.

موفق باشید

به این پاسخ امتیاز بدهید    0
امتیاز: 1617 رتبه: 2
پاسخ دهنده : hamdola 01:48 1398/08/20

برای تعریف یک  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?}");
    });

 

منبع

به این پاسخ امتیاز بدهید    0
امتیاز: 121 رتبه: 12
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود