Blazorメソッドを呼び出すJavaScriptから

blazor javascript visual-studio

質問

私は、Visual StudioのBlazorを使って、JavaScriptからBlazorコードを呼び出して実験しています。私は合理的に私はすべての適切なライブラリを適切に持っていると確信しています。しかし、invokeMethodAsyncでBlazorメソッドを呼び出そうとすると、「no .net call dispatcherが設定されていません」というメッセージが表示されます。私のIndex.Htmlファイルで、私はこれを持っています:

<script> DotNet.invokeMethodAsync("BlazorFour.App", "HelloYou").then(data => alert(data), reason => alert(reason)); </script>

(これは、エラーメッセージを生成するアラート(理由)です)

Blazorプロジェクトにクラスファイルを追加しました。これには次のものが含まれています:

using Microsoft.JSInterop;
using System.Threading.Tasks;
public class HelloWorld
{
[JSInvokable]
public static Task<string> HelloYou()
{
    return Task.FromResult("Hello, ");
}
}

私はVisual Studioのすべてのテンプレートとdotnet -new blazorコマンドラインユーティリティを使用してスタートポイントを作成しましたが、すべてのプロジェクトで同じメッセージが表示されています。ここで私は何か基本的なものを見逃しているようです。

人気のある回答

Peter Vogel:JavaScriptコードからBlazor C#メソッドを呼び出すことができれば幸いです。現時点ではそれほど可能ではありません:JavaScriptからBlazor C#を呼び出すだけでは機能しません(コールディスパッチャーが利用できないというメッセージが表示されます)。

しかし、いったんBlazorコードが実行されると、C#コードからJavaScriptコードを呼び出します。これを済ませたら、JavaScriptコードがBlazorコードを呼び出すことができます。

これが問題を解決することを願っています...



ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ