如何在razor页面中添加环境指示器?

问题描述 投票:0回答:1

我希望向 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" />
}

目前背后的代码如下所示:

enter image description here

c# asp.net .net asp.net-core blazor
1个回答
0
投票

我的意思是,基本上你可以做任何你喜欢的事情?这是一个示例,通过将 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

© www.soinside.com 2019 - 2024. All rights reserved.