在自定义路由配置中添加约束规则。
以下是一个代码示例:
在Startup.cs文件中添加以下代码:
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllerRoute(
name: "default",
pattern: "/{controller}/{action}/{id?}",
constraints: new { controller = "Home", action = "Index" },
defaults: new { controller = "Home", action = "Index" });
});
在自定义路由配置中加入下列约束规则,将默认路由的约束更改为使用正则表达式:
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}",
constraints: new { id = "[0-9]+" });
});
在旧的默认路由策略中,约束规则被忽略,因此AnchorTagHelper无法识别附加的URL参数。通过使用约束规则,我们可以更改路由配置,以使用正则表达式来控制参数,从而使AnchorTagHelper在razor页面上正常工作。