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

使用ASP.NET Core 7的Blazor Server是否需要调用MapRazorPages()?

Blazor Server 中 app.MapRazorPages() 的作用与配置说明
  • 在ASP.NET Core 7的Blazor Server默认模板里,app.MapRazorPages()确实不会自动生成到Program.cs里。这个方法的作用是注册Razor Pages的路由规则,让项目里的.cshtml页面能被正常访问。
  • 你看到很多示例里有这个调用,主要两个原因:
    一是部分示例属于混合场景——项目同时包含Blazor组件和Razor Pages(比如用Razor Pages做登录页、静态展示页);
    二是这些示例可能基于旧版本ASP.NET Core(3.x/5/6)的模板,旧版Blazor Server模板默认会带app.MapRazorPages(),因为当时模板里自带了Razor Pages格式的错误页、身份验证页等内容。
  • 要不要添加回去?看你的实际需求:
    • 如果你的项目只用到.razor格式的Blazor组件,完全不需要Razor Pages,那完全不用加,不会影响Blazor的正常运行。
    • 如果需要在项目里新增.cshtml页面(比如自定义静态页、整合旧的Razor Pages代码),那必须在Program.cs里加上app.MapRazorPages(),否则这些Razor Pages页面无法被路由匹配到。

内容的提问来源于stack exchange,提问作者David Thielen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 13:24:52