joh*_*dle 7 c# asp.net-core-mvc
我只是在我的 Visual Studio 上创建了一个 .net core 2.0 项目,并在 _Layout.cshtml 中发现了一些新属性,例如称为“环境”。我在 MVC5 上工作,但没有这样的属性。这些属性有什么作用?它是否替代了我在 MVC5 视图中使用的 Rezor 语法?请提供文档的详细信息以使用这些属性来开始使用这些属性。
_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>
Run Code Online (Sandbox Code Playgroud)
我们有 3 个环境;开发、分期和生产。
这个标签助手帮助我们在不同的环境中呈现我们需要的东西。
下面的代码意味着,如果我们在开发环境中,渲染这个 css 文件。
<environment include="Development">
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" />
<link rel="stylesheet" href="~/css/site.css" />
</environment>
Run Code Online (Sandbox Code Playgroud)
下面的代码意味着当我们不在开发环境中时呈现内容。
<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>
Run Code Online (Sandbox Code Playgroud)
*注意:上面代码中的 asp-fallback-href 意味着如果无法连接到 CDN,请使用来自服务器的缩小的引导程序文件!
您也可以像这样编写上面的代码:
<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>
Run Code Online (Sandbox Code Playgroud)
这意味着如果我们在 STAGING 或 PRODUCTION 环境中渲染内容。
小智 7
的环境标签助手使用的值IHostingEnvironment.EnvironmentName包含/排除在基于当前的使用环境的DOM(文档对象模型)的内容。
在您的代码片段中,在开发环境中运行代码时包含前两个样式表,在开发环境中排除后两个样式表。
请参阅有关ASP.NET Core 中的Tag Helper和Environment Tag Helper 的Microsoft 文档,这可以帮助更清楚地回答您的问题。
| 归档时间: |
|
| 查看次数: |
6123 次 |
| 最近记录: |