Blazor:如何动态更改URL?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Blazor:如何动态更改URL?相关的知识,希望对你有一定的参考价值。
我有一个页面,该页面将字符串bookingReference作为其路由参数Booking/{bookingReference}
。
此页面是父级组件,内部是子级组件,用于管理预订详细信息。预订详细信息更新时,子级组件将回调父级。
@page "/Operations/Bookings/{bookingReference}"
<div class="header">
<h1> @Booking.BookingReference </h1>
</div>
<div>
<BookingDetails Booking="Booking" OnUpdateBooking="UpdateBooking" />
</div>
@code {
[Parameter]
public string BookingReference { get; set; }
private Booking Booking { get; set; }
void UpdateBooking(Booking booking)
{
Booking = booking;
StateHasChanged();
}
}
用户可以从子组件更新预订参考,因此,可以更改页面的页眉-很好,很好。
但是,我也想将URL更改为更新的bookingReference-在不强制刷新的情况下,有什么方法可以实现?
我有一个页面,该页面将字符串bookingReference作为其路由参数Booking / {bookingReference}。该页面是父级组件,子级组件在其中,预订详细信息是...
答案
[如果通过“强制刷新”表示重新加载页面,则答案为肯定。您不必重新加载页面,但是必须重新渲染页面才能刷新视图(不是重新加载而是重新渲染)。重新加载页面时,将重新创建页面组件和嵌入式组件。当您重新呈现页面时,页面组件和嵌入式组件不会被破坏,并且仅应用html diff来反映这一点。
以上是关于Blazor:如何动态更改URL?的主要内容,如果未能解决你的问题,请参考以下文章
使用 IIS URL 重写动态设置 Blazor WASM 基本 href
当 url 响应状态代码为 400 时如何使用 C# .Net Core 5 Blazor 服务器端应用程序中的中间件重定向到主页