Blazor には、メソッドとメソッド<a>の両方を持つ要素があります。hrefonclick
<a href="" onclick="@(() => ChangePage(_someObject))">Test</a>
onclickこのメソッドを呼び出します:
private bool ChangePage(object objectToDisplay)
{
_currentObject = objectToDisplay;
StateHasChanged();
return false;
}
通常、JavaScript でイベント メソッドから false を返すと、リンクへの後続のナビゲーションが停止しますhrefが、これは上記のコードでは機能していないようです。
リンクをクリックした後、Blazor がページをルート URL に変更するのを止めるにはどうすればよいですか?
(ここでの明らかな答えは、href完全に削除することですが、ブートストラップピルでリンクを使用し、hrefピルの機能を停止するものを削除しています)
私が試した他のことはうまくいきませんでした:
<a>要素をスパンに変更してdata-target属性を設定すると、ピルのレンダリングが適切に停止します。returnイベントへの追加(この回答onclickに従って):しかし、それはコンパイルされません。onclick="return @(() => ChangePage(_overviewModel))"- イベント
returnの後に追加:しかし、それもコンパイルされません。onclickonclick="@(() => ChangePage(_overviewModel)); return false;" - Blazor
NavLinkコンポーネントを使用します<NavLink href="" onclick="@(() => ChangePage(_someObject))">NavLink</NavLink>。それは機能しません。詳細については、こちらを参照してください。