![](/img/trans.png)
[英]Does RenderSection() work inside ASP.NET Core's <environment> tag-helper?
[英]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>
环境标记帮助程序使用IHostingEnvironment.EnvironmentName的值基于当前应用程序环境在DOM(文档对象模型)中包含/排除内容。
在您的代码段中,在开发环境中运行代码时会包含前两个样式表,而在开发环境中则排除前两个样式表。
请参阅ASP.NET Core和Environment 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.