Blazor:已替换 WebEventDescriptor.EventArgsType 属性

WebEventDescriptor 类是 Blazor 内部协议的一部分,用于将事件从 JavaScript 传递到 .NET 中。 这个类通常不由应用代码使用,而是由平台作者使用。

从 ASP.NET Core 6.0 开始,WebEventDescriptor 上的 EventArgsType 属性被新的 EventName 属性所替代。 这一变更不太可能影响任何应用代码,因为这是一个低级别的平台实现细节。

引入的版本

ASP.NET Core 6.0

旧行为

在 ASP.NET Core 5.0 及更早版本中,属性 EventArgsType 为 DOM 事件类型组描述了一个非标准的、特定于 Blazor 的类别名称。 例如,clickmousedown 事件都映射到 mouseEventArgsType 值。 同样,cutcopypaste 事件被映射到 clipboardEventArgsType 值。 这些类别名称用于确定将传入事件参数数据反序列化的 .NET 类型。

新行为

从 ASP.NET Core 6.0 开始,新属性 EventName 仅指定原始事件的名称。 例如,clickmousedowncutcopypaste。 不再需要提供特定于 Blazor 的类别名称。 因此,旧属性 EventArgsType 被删除。

更改原因

在拉取请求 dotnet/aspnetcore#29993 中,引入了对自定义事件参数类的支持。 作为此支持的一部分,框架不再依赖于所有事件都符合预定义的类别集。 现在,框架只需要知道原始事件名称。

应用代码应该不受影响,不需要更改。

如果是构建自定义 Blazor 呈现平台,可能需要更新将事件调度到 Renderer 中的机制。 用提供原始事件名称的更简单逻辑替换任何关于事件类别的硬编码规则。

受影响的 API

WebEventDescriptor.EventArgsType