Dot-Net-Core

同一頁面中的 Blazor 路由更改

  • July 3, 2019

我目前的設置:

  • .NET 核心 3(預覽版 6)
  • Blazor 伺服器端渲染

在 Blazor 頁面中,我有以下內容:

@page "/page"
@page "/page/{Id}"

和:

[Parameter]
public string Id { get; set; }

現在,例如,當從 導航/page/1到時/page/2,我可以使用它OnParametersSetAsync來檢測這些變化。但是從 導航/page/1到時會出現問題/pageOnParametersSetAsync可以檢測到這種變化,但是該Id參數將保持1與之前的路由相同。

我想知道在這種情況下我能做些什麼。

Blazor 不會用 null 覆蓋空參數,請自行執行:

@page "/Counter"
@page "/Counter/{Id}"
<h1>Current Id: @IdString;</h1>
<a href="/Counter"> go home </a> |
<a href="/Counter/1"> go home 1 </a> |
<a href="/Counter/2"> go home 2 </a>

@code
{
   private string IdString;
   [Parameter] public string Id { get; set; }

   protected override async Task OnParametersSetAsync()
   {
       // copy par value somewhere
       IdString = Id?.ToString() ?? "";

       // rest parm (set to null) by yourself
       Id=null;  
   }
}

在此處輸入圖像描述

引用自:https://stackoverflow.com/questions/56869508