路由到 Razor Pages 中的属性

Routing to properties in Razor Pages

假设我在 Razor Pages 的页面模型中添加了一个 属性 作为某种 ID 编号:

[BindProperty(SupportsGet = true)]
public int Id { get; set; }

然后我可以像这样通过 URL 设置 Id

localhost:5001/?Id=1

然而,通常(例如,在创建 API 时)您可以通过以下方式获得更漂亮(至少我认为如此)的方式来设置 Id

localhost:5001/Id/1

默认情况下,这似乎不适用于 Razor Pages。有什么方法可以启用吗?

注意:我已经尝试 Google 这个,但我对术语有点不确定。是不是设置属性的时候也叫路由?

叫做Route Data。作为 @page 指令的一部分,您可以在路由模板中为路由数据参数指定占位符:

@page "{id}" // will match localhost:5001/1

如果您希望术语 "Id" 出现在 URL 中(例如匹配 localhost:5001/Id/1),您的路线模板将如下所示:

@page "Id/{id}"

通常情况下,您不会在路由模板中包含参数的名称。