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

能否在VBHTML文件中注入IWebHostEnvironment并根据环境编写条件判断?

能否在VBHTML文件中注入IWebHostEnvironment并根据环境编写条件判断?

当然可以!ASP.NET Core的Razor框架同时支持C#和VB.NET语法的环境判断,只是和CSHTML相比有一些语法差异而已。下面是具体的实现步骤:

  1. 在VBHTML中注入IWebHostEnvironment
    替代C#的@inject语法,VB.NET Razor使用如下的注入写法:

    @Inject Env As IWebHostEnvironment
    
  2. 用VB语法编写环境条件判断
    使用VB的If...Then结构来替代C#的大括号写法:

    @If Env.IsEnvironment("Development") Then
        ' 这里写仅在开发环境生效的内容或代码
        <p>这段内容只在开发环境可见!</p>
    End If
    
    ' 也可以直接用内置方法判断生产/预发布环境
    @If Env.IsProduction() Then
        <p>欢迎访问生产环境!</p>
    End If
    

关于你之前尝试的问题

System.Configuration.ConfigurationManager.AppSettings("Environment")是旧版ASP.NET Framework的用法,并不适用于ASP.NET Core。在ASP.NET Core中,配置系统已经更新,IWebHostEnvironment是官方推荐的获取当前宿主环境的方式——它会直接读取应用启动时配置的环境变量(比如ASPNETCORE_ENVIRONMENT),准确性和可靠性更高。

小提示

默认的ASP.NET Core项目模板已经自动注册了IWebHostEnvironment到依赖注入容器中,所以你不需要额外做任何配置就能直接使用上述写法。

备注:内容来源于stack exchange,提问作者kaz00ie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 10:52:46