如果您开发过ASP.NET Core Web应用程序,您应该已经熟悉了标签帮助器。ASP.NET Core应用程序依赖标签帮助器来呈现表单和表单字段是很常见的。所以,一个视图通常包含许多标签帮助器以及标准的HTML标记。您可以通过多种方式使用标签帮助器来提高开发的效率。本文将讨论其中的某些问题。
1. 使用标签帮助器智能感知
就像HTML元素和JavaScript代码一样,Visual Studio也可以为标签帮助器显示智能感知。如果您使用Visual Studio 2017,您可能需要做一些工作才能获得手智能感知。从工具菜单中选择扩展和更新菜单选项。在结果对话框中查找Razor Language Services。
点击下载按钮下载扩展程序,然后关闭Visual Studio,关闭IDE时,将安装Razor Language Services。所以,请耐心等待一会儿。安装完成后,您将看到如下所示的成功对话框:
现在,您可以在Razor视图文件( *.cshtml )中获取智能感知。例如,下图显示的是表单标签帮助器的智能感知。
2. 自定义标签帮助器字体和颜色
如果您的视图中混合使用了许多标签帮助器和HTML标记,您可能希望突出显示标签帮助器为不同字体和颜色。幸运的是,Visual Studio允许您这样做。转到工具 - > 选项,然后转到环境节点下的字体和颜色。
您可以使用“HTML Razor 标签帮助器元素”和“HTML Razor 标签帮助器属性”设置来自定义标签帮助器的外观。下图显示的是自定义 form 标签的样式。
您可以看到标签帮助器的标签以及asp- * 属性显示不同的颜色和字体大小。
3. 禁用标签帮助器
有时您可能需要禁用元素的标签帮助器。例如,您可能希望使用<form>作为标准HTML标记,而不是作为标签帮助器。您可以禁用元素的标签帮助器,如下所示:
如您看到的 ! 字符已添加到<form>的开始和结束标签。属性标签帮助器(如 asp-action 和 asp-controller)将不适用于此<form>元素。
4. 添加标签帮助器前缀
如果您希望区分标签帮助器与普通的HTML标记(不仅仅是视觉区别),那么您可以使用标签前缀。如果您使用ASP.NET Web服务器控件和Web用户控件,那么您应该熟悉标签前缀的想法。要指定标签前缀,请使用 @tagHelperPrefix 指令,如下所示:
@tagHelperPrefix taghelper:
上面的行对所有的标签帮助器分配了一个前缀taghelper:
。您可以在 ViewImports.cshtml 或单个视图文件中写入此行。一旦添加,您需要这样写标签帮助器标记:
您可以看到不能再使用<form>标签,而是使用<taghelper:form>标签。
5. 在视图中添加或删除标签帮助器
如果在Views文件夹中打开 _ViewImports.cshtml 文件,您将找到这一行代码:
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@addTagHelper 用于使一个或多个标签帮助器可用于项目中的所有视图文件。第一个参数*
表示所有来自该程序集Microsoft.AspNetCore.Mvc.TagHelpers
中的标签帮助器都将可以使用。您还可以指定特定的标签帮助器而不是*
。请参阅以下示例:
@addTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers
上面的代码只添加了FormTagHelper
到视图。这样,只有<form>将被视为标签帮助器,智能感知也只会作用于它。
假设您已使用_ViewImports.cshtml文件将所有内置的标签帮助器添加到项目中。您希望将它们提供给大多数视图,除了某几个视图。如何禁用这些视图的标签帮助器?使用 @removeTagHelper指令。以下代码显示了如何实现:
@removeTagHelper Microsoft.AspNetCore.Mvc.TagHelpers.FormTagHelper, Microsoft.AspNetCore.Mvc.TagHelpers
上述代码从特定视图中删除FormTagHelper
(您需要将该代码放置在该视图的顶部)。
有关ASP.NET Core 标签帮助器的详细介绍请阅读官方文档:https://docs.microsoft.com/en-us/aspnet/core/mvc/views/tag-helpers/intro。
原文:《Five Things Worth Knowing About ASP.NET Core Tag Helpers》http://www.binaryintellect.net/articles/2678a2f2-3236-45a6-a0e5-e6340d9930d5.aspx
翻译:Sweet Tang
本文地址:http://www.cnblogs.com/tdfblog/p/five-things-worth-knowing-about-asp-net-core-tag-helpers.html
欢迎转载,请在明显位置给出出处及链接。