写点什么

.NET 11 ASP.NET Core 预览版 1 带来全新的 Blazor 组件、改进的导航功能以及 WebAssembly 支持

作者:Almir Vuk
  • 2026-03-05
    北京
  • 本文字数:1030 字

    阅读完需:约 3 分钟

微软发布.NET 11 ASP.NET Core 的第一个预览版本。该版本带来了一系列的新特性和改进,旨在增强 Blazor、OpenAPI 和一般 Web 开发工作流的开发体验。

 

其中一个最引人注目的新增功能是 Blazor 的新组件EnvironmentBoundary。它允许开发人员根据托管环境有条件性地渲染内容。该组件接受 Include 和 Exclude 参数,在 Blazor Server 和 Blazor WebAssembly 中行为一致,不需要手动检查环境。

 

该版本还针对 Blazor 表单做了几项改进。现在,新增的Label组件可自动从元数据属性中提取显示名称,实现可访问标签的渲染。该组件同时支持嵌套与非嵌套的 label-input 关联模式。此外,新增的 DisplayName 组件提供了类似 MVC 辅助方法 @Html.DisplayNameFor()的功能,便于显示支持本地化的属性的属性名。

 

QuickGrid组件增加了 OnRowClick 事件参数,使开发人员能够直接处理行点击交互。如果做了配置,则网格会自动应用指针光标样式,并在用户点击某个项时调用回调函数。

 

而且,Blazor 中的导航也得到了关注。现在,NavigationManager.NavigateTo()方法和 NavLink 组件通过新增的 RelativeToCurrentUri 参数支持相对 URI 导航。这使得导航能够基于当前页面路径而非应用程序的基准 URI 进行,对于嵌套的文件夹结构来说,这特别有用。

 

此外,如前所述,新增的扩展方法 GetUriWithHash()提供了一种零分配方案,可将哈希片段附加到统一资源标识符(URI)中;而全新的 BasePath 组件则消除了在 HTML 中手动指定基准 href 元素的需求。

 

在 WebAssembly 方面,Blazor WebAssembly 现在支持IHostedService,可以在浏览器中运行后台服务,实现了与 Blazor Server 对等的功能。现在,框架还允许通过 IConfiguration 访问环境变量,无需重建应用程序即可进行运行时配置。它还为 WebAssembly 应用程序添加了特定于组件的度量和跟踪。

 

该版本的其他改进包括:支持MathML命名空间的交互式渲染、新增 InvokeVoidAsync()分析器、用于在自定义组件上进行依赖注入的 IComponentPropertyActivator 接口、为 Interactive Server 组件提供SignalR ConfigureConnection支持,以及统一的 Blazor 脚本启动选项格式。

 

其他的改进还包括:支持二进制文件响应的OpenAPI schema、IOutputCachePolicyProvider 接口、在 Blazor Web App 模板中提供容器支持,以及自动信任 WSL 环境中的开发证书。

 

感兴趣的读者可以在 ASP.NET Core官方文档中查看完整的发布说明,或在GitHub上查看项目路线图。

 

声明:本文为 InfoQ 翻译,未经许可禁止转载。

 

原文链接:https://www.infoq.com/news/2026/02/asp-net-core-11-preview1/