Lightning Blog
Blazor記事イメージ画像

【Blazor】 JavaScriptを呼び出し方

更新日:2023/07/19
Blazorでは、基本的にHTML,CSS,C#を使って、WEB開発をすることができますが、 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では全く使わないのは難しいです。 この記事の内容を覚えておくと便利かもしれません。


ブログ内の記事で書かれているサンプルコードは、GitHubから確認する事ができます。 是非参考にしてみてください。

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

合わせて読みたい

カード画像
@をエスケープする方法

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

更新日:2023/07/20

カード画像
クエリ文字列を操作する方法

BlazorでURIのクエリ文字列を効果的に処理する方法を紹介。主に、Microsoft.AspNetCore.WebUtilitiesライブラリを活用することで、HTTP関連の操作が容易になる。具体的な実装として、counterページの初期カウント数をクエリ文字列から取得する例を提供。ページ初期化時にNavigationManagerサービスを使用してURIを取得し、WebUtilitiesでクエリを解析して必要な値を取得する手法を示す。

更新日:2023/07/19

An error has occurred. This application may no longer respond until reloaded. Reload 🗙