【Blazor】 JavaScriptを呼び出し方
- JavaScriptを呼び出すには?
- 実行して確認する
目次
JavaScriptを呼び出すには?

JavaScriptを呼び出すには、まずIJSRuntimeというサービスを挿入する必要があります。 IJSRuntimeは、BlazorでC#コードとJavaScriptコードをやり取りするためのインターフェースです。 例として、IJSRuntimeを使用してJavaScriptのアラートを呼び出すプログラムを書いていきます。
@page "/"
@inject IJSRuntime JSRuntime
<h3>IJSRuntime Sample</h3>
<button @onclick="ShowAlert">Show Alert</button>
@code {
private async Task ShowAlert()
{
await JSRuntime.InvokeVoidAsync("alert", "JavaScript呼び出し");
}
}
ボタンのクリックイベントにShowAlertメソッドを割り当て、 そのメソッド内でJavaScriptを呼び出す処理を書いています。 IJSRuntime.InvokeVoidAsyncメソッドを使用して JavaScriptのalert関数を実行します。 第1引数には呼び出すメソッド名、第2引数にはメソッドに渡す引数を指定します。 こうすることで、ボタンがクリックされた際に、アラートが表示されます。
実行して確認する

先ほど作成したプログラムを実行して確認してみましょう。 アラートが表示されているのが、確認できます。
JavaScriptをなるべく使わない方が良いですが、現状Blazorでは全く使わないのは難しいです。 この記事の内容を覚えておくと便利かもしれません。
この本では、Blazorの基本から高度なテクニックまで、実際のプロジェクトに役立つ知識を網羅しています。 初心者から経験者まで、Blazorを扱うすべての開発者にとっての必読書です。 この記事の執筆者も参考にした「Blazor入門」で、あなたのBlazorスキルを飛躍的に向上させませんか?
合わせて読みたい

SignalRのまとめ
Blazor ServerアプリケーションにおけるSignalRの基本と、切断および再接続のシナリオを解説します。接続オプションのカスタマイズ手順について詳しく説明しています。
更新日:2024/08/06

@をエスケープする方法
Blazorにおいて、@記号は予約文字として扱われるため、文字列として表示する際にはエスケープが必要です。@をエスケープして表示するためには、@を2回連続して書くことで実現できます。この技術は、一般的なケースではあまり使用されないかもしれませんが、知っておくと便利な場面もあるでしょう。
更新日:2023/07/20