【发布时间】:2021-01-13 16:47:00
【问题描述】:
我想在我的项目中包含基于区域的路由。我尝试了一些东西,但似乎没有任何意义
我在 Startup.cs 中有一个站点区域和以下路由
app.UseEndpoints(endpoints =>
{
endpoints.MapAreaControllerRoute(
name: "Sites",
areaName: "Sites",
pattern: "Sites/{controller=Home}/{action=Index}/{id?}");
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
当尝试访问以下 url(如图中的项目设置)时,我被定向到 Home/Index,这是该区域外的默认映射。
但是,如果我创建一个默认主页控制器的链接
<a asp-action="Create" asp-controller="Home" asp-area="Sites">Create</a>
我正确地被重定向到区域控制器,但生成的 url 相当混乱
https://localhost:44379/Sites/Home/Index/sites/home/create
我在想以下 url 将重定向到基于 Url 的区域控制器站点。我错过了什么吗?
https://localhost:44379/Sites/Home/Index
目录结构在这里表示。
【问题讨论】:
标签: asp.net-core-mvc asp.net-core-3.1