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 的类别名称。 例如,click
和 mousedown
事件都映射到 mouse
的 EventArgsType
值。 同样,cut
、copy
和 paste
事件被映射到 clipboard
的 EventArgsType
值。 这些类别名称用于确定将传入事件参数数据反序列化的 .NET 类型。
新行为
从 ASP.NET Core 6.0 开始,新属性 EventName
仅指定原始事件的名称。 例如,click
、mousedown
、cut
、copy
或 paste
。 不再需要提供特定于 Blazor 的类别名称。 因此,旧属性 EventArgsType
被删除。
更改原因
在拉取请求 dotnet/aspnetcore#29993 中,引入了对自定义事件参数类的支持。 作为此支持的一部分,框架不再依赖于所有事件都符合预定义的类别集。 现在,框架只需要知道原始事件名称。
建议的操作
应用代码应该不受影响,不需要更改。
如果是构建自定义 Blazor 呈现平台,可能需要更新将事件调度到 Renderer
中的机制。 用提供原始事件名称的更简单逻辑替换任何关于事件类别的硬编码规则。
受影响的 API
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈