是否可以在 asp-route-{value} 中使用动态值?
Is it possible to use a dynamic value in asp-route-{value}?
我的 Razor 页面使用以下代码来创建一个 link,它在单击时向路由添加动态值。这非常有效。
<a class="page-link" asp-route-systemRightsPage="@(i.Index)">@i.Index</a>
现在,我有不同的路线值,在本例中我使用 systemRightsPage
,但我还有 3 种可以导航到的类型(personsPage
、personRightsPage
, errorsPage
), 依此类推。
是否可以在 asp-route-{value}
部分以某种方式使用动态值?
我试过使用这个:
<a class="page-link" asp-route-@(RouteValue)="@(i.Index)">@i.Index</a>
此代码在 HTML 中正确呈现为:
<a class="page-link" asp-route-personpage="2">2</a>
但是 link 不再起作用,因为如果我点击它什么也不会发生。
有没有人做过类似的事情?
您可以使用 all-route-data
属性传递任意参数名称及其值:
@{var values = new Dictionary<string,string>{{"personpage", "2"}};}
<a asp-page="/whatever" asp-all-route-data="values">Click</a>
https://www.learnrazorpages.com/razor-pages/tag-helpers/anchor-tag-helper
我的 Razor 页面使用以下代码来创建一个 link,它在单击时向路由添加动态值。这非常有效。
<a class="page-link" asp-route-systemRightsPage="@(i.Index)">@i.Index</a>
现在,我有不同的路线值,在本例中我使用 systemRightsPage
,但我还有 3 种可以导航到的类型(personsPage
、personRightsPage
, errorsPage
), 依此类推。
是否可以在 asp-route-{value}
部分以某种方式使用动态值?
我试过使用这个:
<a class="page-link" asp-route-@(RouteValue)="@(i.Index)">@i.Index</a>
此代码在 HTML 中正确呈现为:
<a class="page-link" asp-route-personpage="2">2</a>
但是 link 不再起作用,因为如果我点击它什么也不会发生。
有没有人做过类似的事情?
您可以使用 all-route-data
属性传递任意参数名称及其值:
@{var values = new Dictionary<string,string>{{"personpage", "2"}};}
<a asp-page="/whatever" asp-all-route-data="values">Click</a>
https://www.learnrazorpages.com/razor-pages/tag-helpers/anchor-tag-helper