我希望向 Razor 页面添加一些内容,以便当我检查后面的页面代码时,我能够判断它是否处于生产、暂存或开发模式。在本例中,我添加一个隐藏字段来告诉我页面所处的模式。这不是看起来最干净的代码。关于将某种状态水印插入到渲染代码中的不同方法有什么想法吗?
@if (Env.IsProduction()) {
<input type="hidden" name="EnvironmentName" id="EnvironmentName" value="Production" />
}
@if (Env.IsStaging())
{
<input type="hidden" name="EnvironmentName" id="EnvironmentName" value="Staging" />
}
@if (Env.IsDevelopment())
{
<input type="hidden" name="EnvironmentName" id="EnvironmentName" value="Development" />
}
目前背后的代码如下所示:
我的意思是,基本上你可以做任何你喜欢的事情?这是一个示例,通过将 IWebHostEnvironment
直接注入 Razor 页面来显示当前
Hosting Environment的标题:
@page
@model MyApp.IndexModel
@inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment Env
<h1>@Env.EnvironmentName</h1>
这几乎就是文档中示例的完成方式:https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/fundamentals/environments/samples/6.x/EnvironmentsSample/Pages/About .cshtml