繁体   English   中英

.NET Core中的环境标记助手

[英]Environment Tag Helper in .NET Core

我只是在我的visual studio上创建了一个.net core 2.0项目,并在_Layout.cshtml中找到了一些新的属性,比如所谓的“环境”。 我曾在MVC5工作,但没有这样的属性。 这些特性有什么作用? 它是否取代了我在MVC5视图中使用的Rezor语法? 请提供详细的doc文档,以便使用这些属性来开始使用这些属性。

_Layout.cshtml:

 <environment include="Development">
        <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
        <link rel="stylesheet" href="~/css/site.css" />
    </environment>
    <environment exclude="Development">
        <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
              asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
              asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
        <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
    </environment>

PIC

环境标记帮助程序使用IHostingEnvironment.EnvironmentName的值基于当前应用程序环境在DOM(文档对象模型)中包含/排除内容。

在您的代码段中,在开发环境中运行代码时会包含前两个样式表,而在开发环境中则排除前两个样式表。

请参阅ASP.NET CoreEnvironment Tag Helper中有关Tag Helper的 Microsoft文档,这可以帮助您更清楚地回答您的问题。

我们有3个环境; 发展,分期和生产。

此标记帮助程序可帮助我们在不同环境中呈现所需内容。

下面的代码表示,如果我们处于开发环境中,则渲染此css文件。

<environment include="Development">
    <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
    <link rel="stylesheet" href="~/css/site.css" />
</environment>

以下代码表示在我们不在开发环境中时呈现内容。

<environment exclude="Development">
    <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
          asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
          asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
    <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>

*注意:上面的代码中的asp-fallback-href意味着如果无法连接到cdn,请从服务器使用缩小的bootstrap文件!

你也可以像这样写上面的代码:

<environment include="Staging, Production">
    <link rel="stylesheet" href="https://ajax.aspnetcdn.com/ajax/bootstrap/3.3.7/css/bootstrap.min.css"
          asp-fallback-href="~/lib/bootstrap/dist/css/bootstrap.min.css"
          asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute" />
    <link rel="stylesheet" href="~/css/site.min.css" asp-append-version="true" />
</environment>

这意味着如果我们处于STAGING或PRODUCTION环境中,则呈现内容。

Environment Tag Helper有条件地根据当前托管环境呈现其包含的内容。

include属性基本上是指渲染代码,无论您是在Development环境中,还是不使用exclude属性进行渲染。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM