文件夹的 Razor Pages 中需要路由值

Require route value in Razor Pages for folder

在 ASP.NET Core Razor Pages 中,如何为文件夹设置路由以要求存在特定路由 ID?这是我的文件夹结构:

[Pages]
 - Index.cshtml
 - GeneralPage.cshtml
 - [Company]
    - Billing.cshtml
    - Manage.cshtml
    - Users.cshtml

"Company" 文件夹中的任何页面都应该在页面名称前有一个路由参数 (integer {companyId})。以下应该都是有效的请求:

以下应该会失败:

AddFolderRouteModelConvention 听起来很有前途,但它的用途对我来说并不明显。

对于实现上述路由的最直接的方法有什么建议吗?

这不是通用解决方案,但适用于上面的简单布局:

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}/");
    }
});