【.NET Core】Tag Helpers 与 HTML Helpers

什么是TagHelpers

Tag Helpers使服务器端代码可以在 Razor 文件中参与创建和呈现 HTML 元素。 例如,内置 ImageTagHelper 可以将版本号追加到图像名称。 每当图像发生变化时,服务器都会为图像生成一个新的唯一版本,因此客户端总能获得当前图像(而不是过时的缓存图像)。 有多种常见任务(例如创建表单、链接,加载资产等)的内置Tag Helpers,公共 GitHub 存储库和 NuGet 包中甚至还有更多可用Tag HelpersTag 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>

 

 

 

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 精致技术 设计师:CSDN官方博客 返回首页