Blazor : propriété WebEventDescriptor.EventArgsType remplacée

La classe WebEventDescriptor fait partie du protocole interne de Blazor pour la communication des événements de JavaScript vers .NET. Cette classe n’est généralement pas utilisée par le code de l’application, mais plutôt par les auteurs de plateforme.

À compter de ASP.NET Core 6.0, la propriété EventArgsType sur WebEventDescriptor est remplacée par une nouvelle propriété EventName. Ce changement est peu susceptible d’affecter le code de l’application, car il s’agit d’un détail d’implémentation de plateforme de bas niveau.

Version introduite

ASP.NET Core 6.0

Ancien comportement

Dans ASP.NET Core 5.0 et versions antérieures, la propriété EventArgsType décrit un nom de catégorie non standard spécifique à Blazorpour les groupes de types d’événements DOM. Par exemple, les événements click et mousedown ont tous deux été mappés à une valeur EventArgsType de mouse. De même, les événements cut, copy et paste sont mappés à une valeur EventArgsType de clipboard. Ces noms de catégorie sont utilisés pour déterminer le type .NET à utiliser pour désérialiser les données des arguments d’événements entrants.

Nouveau comportement

À compter de ASP.NET Core 6.0, la nouvelle propriété EventName spécifie uniquement le nom de l’événement d’origine. Par exemple, click, mousedown, cut, copy ou paste. Il n’est plus nécessaire de fournir un nom de catégorie spécifique à Blazor. Pour cette raison, l’ancienne propriété EventArgsType est supprimée.

Raison du changement

Dans la demande de tirage (pull request) dotnet/aspnetcore#29993, le support des classes d’arguments d’événement personnalisés a été introduit. Dans le cadre de ce support, l’infrastructure ne s’appuie plus sur tous les événements qui s’intègrent dans un ensemble prédéfini de catégories. L’infrastructure doit maintenant uniquement connaître le nom de l’événement d’origine.

Le code de l’application ne doit pas être affecté et n’a pas besoin de changer.

Si vous générez une plateforme de rendu Blazor personnalisée, vous devez mettre à jour le mécanisme de distribution des événements dans le Renderer. Remplacez toutes les règles codées en dur sur les catégories d’événements par une logique plus simple qui fournit le nom d’événement brut d’origine.

API affectées

WebEventDescriptor.EventArgsType