如何在.NET 5.0 Razor Pages中使用锚标记助手生成href?
用锚标记助手生成自定义路由的Razor Pages链接
你可以通过以下两种方法,用锚标记助手生成指向自定义路由页面的链接:
方法一:通过页面文件名+路由参数生成
虽然Edit.cshtml设置了自定义路由/p/{id},但锚标记助手依然能通过页面文件名定位页面,再配合路由参数生成正确链接:
<a asp-page="/Edit" asp-route-id="123">跳转到编辑页</a>
这里asp-page填的是页面的相对路径(根目录下直接写/Edit,子文件夹下比如Pages/Manage/Edit.cshtml就写/Manage/Edit),asp-route-id用来传递路由中的{id}参数。Razor Pages会自动根据页面的自定义路由规则,生成/p/123这样的URL。
方法二:给路由命名后引用
先给Edit.cshtml的路由添加名称,之后直接通过路由名生成链接:
- 修改
Edit.cshtml的页面指令,添加路由名称属性:
@page "/p/{id}" @attribute [Route("/p/{id}", Name = "EditPage")]
- 在其他页面中,用
asp-route指定路由名称并传参:
<a asp-route="EditPage" asp-route-id="123">跳转到编辑页</a>
这种方式适合路由规则复杂或需要统一管理路由名称的场景。
两种方法都不需要手动拼接href,完全利用锚标记助手的特性生成符合自定义路由的链接。
内容的提问来源于stack exchange,提问作者manish
相关产品推荐
相关产品推荐

