C# 我可以在.net core中设置每个区域的默认页面吗?

C# 我可以在.net core中设置每个区域的默认页面吗?,c#,asp.net-core,C#,Asp.net Core,我需要.NETCore2.2(MVC)中每个区域的默认页面。这意味着,如果任何人键入例如“”(其中admin是区域),他将被路由到说“”。我想在每个领域都这样做 在app.UseMvc(routes=>…中为区域设置第二个默认页面时出错。只需更改区域路由的默认控制器和操作,如 app.UseMvc(routes => { routes.MapRoute( name: "areas", te

我需要.NETCore2.2(MVC)中每个区域的默认页面。这意味着,如果任何人键入例如“”(其中admin是区域),他将被路由到说“”。我想在每个领域都这样做


在app.UseMvc(routes=>…中为区域设置第二个默认页面时出错。

只需更改区域路由的默认控制器和操作,如

app.UseMvc(routes =>
        { 
            routes.MapRoute(
               name: "areas",
               template: "{area:exists}/{controller=User}/{action=Index}/{id?}"
             );

            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
更新: 如果要将不同的区域路由到不同的默认页面,可以分别为这两个区域设置路由:

app.UseMvc(routes =>
        {
            routes.MapAreaRoute(
                name: "AdminRoute",
                areaName: "Admin",
                template: "Admin/{controller=News}/{action=Index}/{id?}");
            routes.MapAreaRoute(
                name: "ManagementRoute",
                areaName: "Management",
                template: "Management/{controller=User}/{action=Detail}/{id?}");

            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

只需更改区域路由的默认控制器和操作,如

app.UseMvc(routes =>
        { 
            routes.MapRoute(
               name: "areas",
               template: "{area:exists}/{controller=User}/{action=Index}/{id?}"
             );

            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });
更新: 如果要将不同的区域路由到不同的默认页面,可以分别为这两个区域设置路由:

app.UseMvc(routes =>
        {
            routes.MapAreaRoute(
                name: "AdminRoute",
                areaName: "Admin",
                template: "Admin/{controller=News}/{action=Index}/{id?}");
            routes.MapAreaRoute(
                name: "ManagementRoute",
                areaName: "Management",
                template: "Management/{controller=User}/{action=Detail}/{id?}");

            routes.MapRoute(
                name: "default",
                template: "{controller=Home}/{action=Index}/{id?}");
        });

这不会将不同的区域路由到默认区域。我有以下内容:区域(管理,管理),root Index.Management和Admin都有不同的控制器,但如果有人键入url/Admin,我需要转到例如Admin/News/Index,如果有人键入url/Management,我需要转到Management/User/Detail。我很尴尬。我在路由中输入了一个错误:Details。应该是Detail…被代码蒙蔽了:s这不会将不同的区域路由到默认值。我有以下内容:区域(管理,管理),root Index.Management和Admin都有不同的控制器,但如果有人键入url/Admin,我需要转到例如Admin/News/Index,如果有人键入url/Management,我需要转到Management/User/Detail。我非常尴尬。我在路径中输入了一个错误:Details。应该是Detail…被代码s蒙蔽了