Blazor: WebEventDescriptor.EventArgsType-Eigenschaft ersetzt

Die Klasse WebEventDescriptor gehört zum internen Blazor-Protokoll für die Kommunikation von Ereignissen aus JavaScript in .NET. Diese Klasse wird in der Regel nicht vom App-Code, sondern von Plattformautoren verwendet.

Ab ASP.NET Core 6.0 wird die Eigenschaft EventArgsType für WebEventDescriptor durch eine neue Eigenschaft EventName ersetzt. Diese Änderung wirkt sich höchstwahrscheinlich nicht auf den App-Code aus, da es sich um ein Detail für die Plattformimplementierung handelt.

Eingeführt in Version

ASP.NET Core 6.0

Altes Verhalten

In ASP.NET Core 5.0 und früher beschreibt die Eigenschaft EventArgsType einen nicht dem Standard entsprechenden, Blazor-spezifischen Kategorienamen für Gruppen von DOM-Ereignistypen. Beispielsweise wurden die Ereignisse click und mousedown beide einem EventArgsType-Wert von mouse zugeordnet. Ebenso werden die Ereignisse cut, copy und paste dem EventArgsType-Wert clipboard zugeordnet. Anhand dieser Kategorienamen wird der .NET-Typ festgelegt, der zum Deserialisieren der eingehenden Ereignisargumentdaten verwendet werden soll.

Neues Verhalten

Ab ASP.NET Core 6.0 wird mit der neuen Eigenschaft EventName nur der Name des ursprünglichen Ereignisses angegeben. Beispiel: click, mousedown, cut, copy oder paste. Es ist nicht mehr erforderlich, einen Blazor-spezifischen Kategorienamen anzugeben. Aus diesem Grund wird die alte Eigenschaft EventArgsType entfernt.

Grund für die Änderung

In Pull Request dotnet/aspnetcore#29993 wurde Unterstützung für benutzerdefinierte Ereignisargumentklassen eingeführt. Durch diese Unterstützung müssen nicht mehr alle Ereignisse für das Framework einem vordefinierten Satz von Kategorien entsprechen. Das Framework muss jetzt nur noch den ursprünglichen Ereignisnamen kennen.

Der App-Code sollte nicht betroffen sein und muss nicht geändert werden.

Wenn Sie eine benutzerdefinierte Blazor-Renderingplattform erstellen, müssen Sie möglicherweise den Mechanismus für die Verteilung von Ereignissen an den Renderer aktualisieren. Ersetzen Sie hartcodierte Regeln zu Ereigniskategorien durch einfachere Logik, die den ursprünglichen, unformatierten Ereignisnamen bereitstellt.

Betroffene APIs

WebEventDescriptor.EventArgsType