我在应用程序中使用 URL 参数来表示页面状态。
如何在不实际导航的情况下更改 URL?
Thanks!
(使用 Blazor 服务器端)
您可以使用 JS Interop 来完成此操作并调用history.pushState(null, '', url)
这是一个简单的例子
.razor
@page "/"
@inject IJSRuntime jsRuntime
<input
@bind="url"
/>
<button @onclick="ChangeUrl">
Change Url
</button>
<p>@url</p>
@code {
[Parameter]
public string Url { get; set; }
void ChangeUrl(){
// You can also change it to any url you want
jsRuntime.InvokeVoidAsync("ChangeUrl", Url);
}
}
.js
window.ChangeUrl = function(url){
history.pushState(null, '', url);
}
请注意这仅适用于视觉目的,它只会在浏览器中发生变化,而在服务器端,您可能不会看到变化。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)