Blazor: WebEventDescriptor.EventArgsType プロパティが置き換えられました

WebEventDescriptor クラスは、JavaScript から .NET にイベントをやり取りするための Blazor の内部プロトコルの一部です。 通常、このクラスは、アプリ コードではなく、プラットフォームの作成者によって使用されます。

ASP.NET Core 6.0 以降、WebEventDescriptorEventArgsType プロパティは新しい EventName プロパティに置き換えられています。 この変更は低レベルのプラットフォーム実装の詳細であるため、アプリ コードに影響する可能性はほとんどありません。

導入されたバージョン

ASP.NET Core 6.0

以前の動作

ASP.NET Core 5.0 以前の場合、プロパティ EventArgsType には、DOM イベントの種類のグループに対して非標準の Blazor 固有のカテゴリ名を記述します。 たとえば、clickmousedown のイベントはいずれも mouseEventArgsType 値 にマップされていました。 同様に、cutcopy、および paste のイベントは、clipboardEventArgsType 値にマップされます。 これらのカテゴリ名は、受信イベントの引数データを逆シリアル化する際に使用される .NET 型を決定するために使用されます。

新しい動作

ASP.NET Core 6.0 以降、新しいプロパティ EventName には元のイベントの名前のみを指定します。 たとえば、clickmousedowncutcopypaste などです。 Blazor 固有のカテゴリ名を指定する必要はなくなりました。 そのため、以前のプロパティ EventArgsType は削除されました。

変更理由

プル要求 dotnet/aspnetcore#29993 で、カスタムのイベント引数クラスのサポートが導入されました。 このサポートの一部として、フレームワークは、事前に定義されたカテゴリのセットに適合するすべてのイベントに依存しなくなりました。 フレームワークに必要な情報は元のイベント名のみになりました。

アプリ コードは影響を受けないため、変更する必要はありません。

カスタムの Blazor レンダリング プラットフォームを構築する場合は、必要に応じてイベントを Renderer にディスパッチするためのメカニズムを更新します。 イベント カテゴリに関するハードコーディングされたルールを、元の生のイベント名を指定する場合よりも簡単なロジックに置き換えます。

影響を受ける API

WebEventDescriptor.EventArgsType