Parameters 无法使用带参数的blazor route路由到页面

Parameters 无法使用带参数的blazor route路由到页面,parameters,routes,blazor,Parameters,Routes,Blazor,我的blazor服务器端应用程序中存在路由问题。我已经在razor视图中指定了@page”/intent/{intentid:int}“,我正在使用一个链接标签在侧栏ex:Test上导航到它。地址栏url在点击链接时会发生变化,但我的意图c#代码背后的OnInit没有被触发???有什么建议吗 我尝试使用UriHelper导航到该页面,但页面OnInit没有被解雇 意向视图: @page "/" @page "/intent/{intentid:int}"

我的blazor服务器端应用程序中存在路由问题。我已经在razor视图中指定了
@page”/intent/{intentid:int}“
,我正在使用一个链接标签在侧栏ex:Test上导航到它。地址栏url在点击链接时会发生变化,但我的意图c#代码背后的OnInit没有被触发???有什么建议吗

我尝试使用UriHelper导航到该页面,但页面OnInit没有被解雇

意向视图:

@page "/"
@page "/intent/{intentid:int}"
意图代码隐藏:

[Parameter]
private int IntentId { get; set; }
导航菜单页面:

<a class="btn btn-primary" href="Intent/@(item.Key)">@intentClassifier.Text</a>

我希望在单击a链接并接收intentid的参数值后,在我的意图页面上点击OnInit
但是只有地址栏中的url发生了变化,这就是你需要覆盖OnParametersSetAsync的全部内容,当参数发生变化时就会调用它。

所以我得到了Kirk Woll对我的问题的答案。因此Blazor看到负责此路由的页面没有更改,因此OnInit不会触发(因为同一页面正在处理相同的路由)。我在我的选项卡集组件中遇到了这种情况,解决方法是在IUriHelper上注册一个侦听器:protected override void OnInit(){base.OnInit();UriHelper.OnLocationChanged+=UriHelperOnOnLocationChanged;}public void Dispose(){UriHelper.OnLocationChanged-=urihelperonlocationchanged;}私有void UriHelperOnLocationChanged(对象发送方,字符串e){//handle rest here}