路由到 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}"
通常情况下,您不会在路由模板中包含参数的名称。
假设我在 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}"
通常情况下,您不会在路由模板中包含参数的名称。