使用 Razor Pages 在路由中间定义所需的路径参数?

Define a required path parameter in the middle of a route using Razor Pages?

在 Razor 页面中,我有以下文件夹结构:

Index.cshtml 页面要求将人员的 ID 作为路径参数包含在内。我在 cshtml 文件中定义了必要的 @page 指令。 URL 看起来像这样:

www.website.com/people/person/24

如何使用@page 指令将职位页面定义为以下路由?

www.website.com/people/person/24/jobs

换句话说,我该如何做这样的事情,其中​​ pageName 解析为“Jobs”

@page "{personId}/{page}"

使用保留的 {page} 路由模板最终返回编码路由而不仅仅是页面名称:

24/%2FPerson%2F/Jobs

您可以应用一个路由模板来覆盖路由系统生成的默认模板,方法是在它前面加上正斜杠 /:

@page "/people/person/{personId:int}/jobs"

看这里:https://www.learnrazorpages.com/razor-pages/routing#override-routes

顺便说一句,我会完全避免在 Razor Pages 应用程序中使用区域。您只需将子文件夹添加到 Pages 文件夹即可获得相同的路由优势,而不会增加区域所带来的额外复杂性。