什么是TagHelpers
Tag Helpers使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素。 例如,内置 ImageTagHelper
可以将版本号追加到图像名称。 每当图像发生变化时,服务器都会为图像生成一个新的唯一版本,因此客户端总能获得当前图像(而不是过时的缓存图像)。 有多种常见任务(例如创建表单、链接,加载资产等)的内置Tag Helpers,公共 GitHub 存储库和 NuGet 包中甚至还有更多可用Tag Helpers。 Tag Helpers使用 C# 创建,基于元素名称、属性名称或父标记以 HTML 元素为目标。 例如,应用 LabelTagHelper
属性时,内置 LabelTagHelper
可以 HTML <label>
元素为目标。 如果熟悉 HTML Helpers,则标记帮助程序将减少 Razor 视图中 HTML 和 C# 之间的显式转换。 在很多情况下,HTML Helpers为特定Tag Helpers提供了一种替代方法,但Tag Helpers不会替代 HTML 帮助程序,且并非每个 HTML Helpers都有对应的Tag Helpers,认识到这点也很重要。 Tag Helpers与HTML Helpers的比较更详细地介绍了两者之间的差异。
简单来说TagHelper更友好,更像HTML元素
更多看 这篇微软对TagHelpers的介绍
启用TagHelpers
在Views文件夹的_ViewImports.cshtml文件
添加
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
创建链接对比
我们之前使用ASP.NET MVC时,使用HTML Helpers,是这样的
<a href="@Url.Action("Index", "Home")">aaa</a>
也可以直接这样
@Html.ActionLink("aaa", "Index", "Home")
在.NET Core MVC中,使用Tag Helpers,是这样的
<a asp-controller="Home" asp-action="Index">链接</a>
environment
在开发环境和生产环境使用不同的文件
@*开发环境有效*@
<environment include="Development">
@*开发环境,使用不压缩的文件,排除压缩的文件*@
<link rel="stylesheet" asp-href-include="css/*" asp-href-exclude="~/lib/bootstrap/dist/css/bootstrap.min.css" />
</environment>
@*其他环境*@
<environment exclude="Development">
@*其他环境,使用压缩的文件*@
<link rel="stylesheet" asp-href-include="~/lib/bootstrap/dist/css/bootstrap.min.css" />
</environment>