
【Blazor】 ページをリロードする
- JavaScriptでのリロード
- NavigationManagerでのリロード
- まとめ
目次
JavaScriptでのリロード

Blazorでは、javascriptを利用できるので、location.reloadを呼び出してリロードすることができます。 以下サンプルコードになります。
@page "/" @inject IJSRuntime JSRuntime <button class="btn btn-primary" @onclick="ReloadPageByJavascript">Reload(Javascript)</button> @code { /// <summary> /// Javasciptによるリロード /// </summary> /// <returns></returns> private async Task ReloadPageByJavascript() { await JSRuntime.InvokeVoidAsync("location.reload"); } }
IJSRuntimeを通じて、location.reloadを呼び出しています。 location.reloadを呼び出すだけの場合、jsファイルを作成する必要はありません。
IJSRuntimeについては、以下記事で解説しています。参考にしてみてください。

JavaScriptを呼び出し方
BlazorでWEB開発は主にHTML, CSS, C#を使用しますが、JavaScriptの利用も避けられない場面がある。JavaScriptをBlazor内で呼び出すためには、IJSRuntimeサービスを利用する。IJSRuntimeを用いることで、C#からJavaScriptの関数を非同期的に実行可能。例として、ボタンクリックでJavaScriptのアラートを表示する方法を説明。BlazorでのJavaScript使用は最小限に留めるべきだが、必要な場面での知識は重要。
更新日:2023/07/19
実際に実行してみると、リロードする様子が確認できます。

NavigationManagerでのリロード

NavigationManagerを利用して、リロードすることもできます。 NavigationManagerについては、以下の記事で解説しています。

NavigationManagerの使い方
BlazorのNavigationManagerは、クライアントサイドのルーティングを制御するクラスで、URLの変更やページの表示を管理します。サービスを挿入することでNavigationManagerを使用でき、様々な機能が提供されます。例えば、URLの取得、ベースURIの取得、ページ遷移の制御、URL変更時のイベント通知などがあります。実際の適用例として、ボタンクリックによるページ遷移を示しています。
更新日:2023/07/25
以下サンプルコードになります。
@page "/" @inject NavigationManager NavigationManager <button class="btn btn-primary" @onclick="ReloadPageByNavigationManager">Reload(NavigationManager)</button> @code { /// <summary> /// NavigationManagerによるリロード /// </summary> private void ReloadPageByNavigationManager() { NavigationManager.NavigateTo(NavigationManager.Uri, forceLoad: true); } }
NavigationManagerのNavigateToメソッドでページ遷移することができますが、 第1引数の遷移先URIを、現在のページURIに指定することで、リロードを可能にしています。
forceLoadは、trueでページ全体をリロード、falseで部分的な読み込みを行います。 今回はページ全体をリロードしています。

実際に実行してみると、リロードする様子が確認できます。

まとめ

この本では、Blazorの基本から高度なテクニックまで、実際のプロジェクトに役立つ知識を網羅しています。 初心者から経験者まで、Blazorを扱うすべての開発者にとっての必読書です。 この記事の執筆者も参考にした「Blazor入門」で、あなたのBlazorスキルを飛躍的に向上させませんか?
合わせて読みたい

カレンダー(DatePicker)から値を取得する
Blazorで<input type="date">を使いカレンダー(DatePicker)から日付を取得する方法を解説。サンプルコード、日付範囲設定を紹介。
更新日:2024/06/25

iframeでPDFを表示する
Blazorで<iframe>を使ってPDFを表示する方法を紹介します。サンプルコードでは、PDFファイルをパスやbase64形式で表示する方法を説明し、簡単な帳票アプリに利用できることを示します。
更新日:2024/07/24