Если под «форсированием refre sh» вы подразумеваете перезагрузку страницы, то ответ положительный. Вам не нужно перезагружать страницу, но вы должны заново визуализировать страницу, чтобы обновить sh представление (не перезагрузку, а повторную визуализацию). При перезагрузке страницы компонент страницы и встроенные компоненты создаются заново. При повторном рендеринге страницы компоненты страницы и встроенные компоненты не уничтожаются, и для отражения этого применяются только Html различия.
Вы не опубликовали код для компонента BookingDetails, поэтому мой ответ здесь только на основе предположения
<BookingDetails Booking="Booking" OnUpdateBooking="UpdateBooking" />
Your BookingDetails component should define a property named OnUpdateBooking
of type *EventCallback<Booking>* like this:
[Parameter]
public EventCallback<Booking> OnUpdateBooking {get; set;}
Он также должен определять свойство параметра с именем Booking, которое является объектом, передаваемым из родительского компонента.
// Supporting variable
private Booking booking;
[Parameter]
public Booking Booking
{
get => booking;
set
{
if( booking != value)
{
booking = value;
OnUpdateBooking.InvokeAsync(value);
}
}
Примечание: свойство Booking хранит значение, переданное из родительского компонента. Когда его значение изменяется по коду в дочернем компоненте, вы должны вызвать OnUpdateBooking «делегат», передав ему вновь обновленное значение. Это значение передается обратно в метод UpdateBooking, определенный в родительском компоненте, присваивает переданное значение частному полю Booking и затем повторно отображает родительскую страницу. Теперь вы должны увидеть изменения URL, чтобы отразить это.
Примечание. Удалите вызов метода StateHasChanged из UpdateBooking. Это не обязательно.