问题的原因是由于Firefox将字符集设置为UTF-8,而Blazor使用的是UTF-16LE。因此,当NavigationManager.NavigateTo中包含特殊字符时,Firefox无法正确处理它们。
解决此问题的方法是使用UrlEncoder的Encode方法对导航链接进行编码,以便在NavigationManager.NavigateTo中使用。代码示例如下:
@inject NavigationManager NavManager @inject UrlEncoder UrlEncoder
在此示例中,使用了UrlEncoder的Encode方法来对myParam进行编码,从而在Firefox中可以正确处理导航链接。