Blazor导航到相同的URL,但ID不同

时间:2020-09-18 11:50:48

标签: c# blazor blazor-server-side blazor-client-side blazor-routing

我从导航时遇到问题

"/vehicle-definitions/1/can-networks/5"

"/vehicle-definitions/1/can-networks/6"

基本上,什么都没发生。我希望并且有例外的行为是加载ID为6的新页面,从数据库加载并在页面上显示新项目。但似乎Blazor认为这是同一页(基本上是同一页)。我尝试使用<a href,并使用<NavLink设置lik但没有成功

1 个答案:

答案 0 :(得分:1)

您必须重写OnParametersSetAsync()方法并从数据库中重新加载数据。

您首先进行如下更改

/vehicle-definitions/1/can-networks/{id}

然后使用[ParameterAttribute]设置属性

[Parameter] 
public string Id{ get; set; }

现在您可以覆盖OnParametersSetAsync方法并使用更改后的参数重新加载新数据

protected override async Task OnParametersSetAsync()
{
    LoadData(Id);
}