在Blazor中导航到相同的URL但不同的id可以通过以下代码示例解决:
Startup.cs
中配置路由:app.UseEndpoints(endpoints =>
{
endpoints.MapBlazorHub();
endpoints.MapFallbackToPage("/_Host");
});
NavigationManager
进行导航:@inject NavigationManager NavigationManager
@code {
private void NavigateToDifferentId()
{
NavigationManager.NavigateTo($"/samplepage/{Guid.NewGuid()}");
}
}
上述代码中,我们使用Blazor提供的NavigationManager
进行导航。在按钮的点击事件中,我们生成一个随机的id,并将其作为URL的一部分,以便每次导航时都具有不同的id。
@page "/samplepage/{id}"
Sample Page
Id: @id
@code {
[Parameter]
public string Id { get; set; }
}
在上述代码中,我们使用@page "/samplepage/{id}"
指定了URL的模板,并使用[Parameter]
属性接收传递的id参数。
这样,每次导航到相同的URL但不同的id时,页面组件将接收到不同的id并进行相应的处理。