【发布时间】:2021-05-09 09:20:31
【问题描述】:
我有这些网址:
/entity/create
/entity/edit/6
我想将我的 Razor 页面限制为这两个 URL。
我使用@page 指令创建了这条路线:
@page "/companyInfo/{action}/{id?}";
而且它有效。但问题是它接受 {action} 和 {id?} 段的所有类型的值。
我想在这条路线上应用这些限制:
-
{actions}应该只取create或edit值之一 -
{id}不应存在于create中,而应存在于edit中。
换句话说,我想将我的 Razor Page 表单绑定到创建和编辑两种模式。
我该怎么办?
【问题讨论】:
-
您为
@page编写的模式只是为了对路线数据提供更多约束(或使其更友好)。它总是映射到OnGet或OnGetAsync处理程序。我不太确定您如何为 2 个 URL 使用一个相同的剃须刀页面?如果您定义 2 个页面,则可以定义不同的模式(例如:第一个是/companyInfo/edit/{id?},第二个是/companyInfo/create- 这样您就不需要任何自定义约束)。请添加更多细节以使其清晰。
标签: asp.net-core url-routing razor-pages