You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Blazor .NET 8中选择非预渲染的RenderMode.Server模式?

在Blazor .NET 8中启用非预渲染的Server交互模式

.NET 8重构了Blazor的渲染模式体系,原.NET 7中的RenderMode.Server对应新版的InteractiveServer模式,但新版默认开启预渲染。要启用非预渲染的Server交互模式,可以按以下方式配置:

1. 组件/页面级单独配置

直接在组件或页面顶部替换原属性,使用带参数的渲染模式声明:

@rendermode InteractiveServer(prerender: false)
  • 效果:组件仅执行一次OnInitialized/OnInitializedAsync,页面保持完全交互性(如计数器按钮正常工作),不会进行预渲染。

2. 全局默认配置(所有组件生效)

如果希望项目中所有InteractiveServer模式的组件都默认关闭预渲染,可在Program.cs中修改服务配置:

builder.Services.AddRazorComponents()
    .AddInteractiveServerComponents(options =>
    {
        // 设置全局默认的非预渲染InteractiveServer模式
        options.DefaultRenderMode = InteractiveServerRenderMode.Create(prerender: false);
    });
  • 注意:全局配置后,若个别组件需要预渲染,可单独声明@rendermode InteractiveServer(默认prerender=true)覆盖全局设置。

关键说明

.NET 8中移除了原[RenderModeServer]属性,替代逻辑为:

  • 仅写@rendermode InteractiveServer:等效于原RenderMode.ServerPrerendered,会执行两次初始化
  • 加prerender: false参数:等效于原RenderMode.Server,仅执行一次初始化
  • 不指定任何交互渲染模式:页面默认使用静态渲染模式,无交互能力

内容的提问来源于stack exchange,提问作者Ticu Ionut

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 09:12:15