在ASP.NET Core Razor Pages中,如何设置文件夹的路由以要求显示特定的路由ID?这是我的文件夹结构:
[Pages]
- Index.cshtml
- GeneralPage.cshtml
- [Company]
- Billing.cshtml
- Manage.cshtml
- Users.cshtml
“公司”文件夹中的任何页面在页面名称之前均应具有路由参数(integer {companyId}
)。以下都是有效的请求:
以下内容将失败:
AddFolderRouteModelConvention听起来很有前途,但对我来说并不明显。
关于实现上述路由的最直接方法的任何建议吗?
答案 0 :(得分:0)
这不是一般的解决方案,但适用于上面的简单布局:
options.Conventions.AddFolderRouteModelConvention("/Company", model =>
{
Regex templatePattern = new Regex("^Company/");
foreach (var selector in model.Selectors)
{
selector.AttributeRouteModel.Template =
templatePattern.Replace(selector.AttributeRouteModel.Template, "Company/{companyId}/");
}
});