例如,在名为"Admin"的区域中创建"_ViewStart.cshtml"文件,设置默认的Layout和Namespace如下:
@{ Layout = "~/Areas/Admin/Views/Shared/_Layout.cshtml"; var pageNamespace = "AspNetCore.Areas.Admin.Pages"; }
然后,在该区域下的其他页面中不再需要设置Layout和Namespace。
@page "/" @model IndexModel
app.UseEndpoints(endpoints => { endpoints.MapControllers(); endpoints.MapRazorPages(); endpoints.MapAreaControllerRoute( name: "Admin", areaName: "Admin", pattern: "Admin/{controller=Home}/{action=Index}"); endpoints.MapAreaControllerRoute( name: "MyArea", areaName: "MyArea", pattern: "MyArea/{controller=Home}/{action=Index}/{id?}"); });
这样,就可以在不同的区域(Areas)中设置默认页面路由。当访问该区域主页时,即可默认展示设置的"default"页面。