問題タブ [blazor-jsinterop]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
177 参照

c# - JSRuntime.InvokeAsync を使用すると、BlazorStrap Carousel で "Index was out of range" エラーが発生する

私の Blazor サーバー アプリケーションには、BlazorStrap カルーセルと zip ファイルをダウンロードするためのボタンを含むページがあります。カルーセルは問題なく動作し、ボタンをクリックして zip ファイルをダウンロードするまで、問題なくすべての画像をループできます。zip ファイルは正しくダウンロードされますが、その後、コンソールに次のエラーが表示されます。

エラー: System.ArgumentOutOfRangeException: インデックスが範囲外でした。負ではなく、コレクションのサイズより小さくなければなりません。
Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(タスク タスク) の Microsoft.AspNetCore.Components.ComponentBase.CallStateHasChangedOnAsyncCompletion(タスク タスク)の BlazorStrap.BSCarouselBase.AnimationEnd(BSCarouselItemBase 送信者) の System.Collections.Generic.List`1.get_Item(Int32 インデックス) の (パラメーター 'インデックス') .Components.RenderTree.Renderer.GetErrorHandledTask(Task taskToHandle)

私のカルーセルとダウンロードファイルボタンのHTML:

カルーセル アイテムを取得するためのコード:

ファイルのダウンロード ボタンがクリックされたときのコード:

編集:レンダリングモードがサーバーであり、ServerPrerendered ではないことを追加するのを忘れていました。

0 投票する
1 に答える
204 参照

javascript - jsからblazor相互運用機能を使用して非静的メソッドを呼び出す

blazor アプリケーションで作業すると、JS から呼び出す必要があるメソッドがあります。static キーワードなしでメソッドを呼び出そうとすると、このエラーが発生します-

static を追加するとすぐに、それを認識して正常にロードします。

これがblazorコンポーネントの私のコードです-

JS -

BlazorInterop.js

GetData非静的メソッドであるため static キーワードを使用したくなく、静的メソッドから呼び出すことはできません。

ここでどこが間違っていますか。