如果您开发过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。
相关文章:
asp.net core mvc实现伪静态功能
如何在多个项目中分离Asp.Net Core Mvc的Controller和Areas
asp.net core 编译mvc,routing,security源代码进行本地调试
ASP.NET Core MVC四种枚举绑定方式
ASP.NET Core MVC 模型绑定用法及原理
ASP.NET Core MVC 控制器创建与依赖注入
ASP.NET Core MVC 过滤器介绍
ASP.NET Core MVC Tag Helpers 介绍
ASP.NET Core MVC – Caching Tag Helpers
ASP.NET Core MVC – Form Tag Helpers
ASP.NET Core MVC – 自定义 Tag Helpers
ASP.NET Core - Razor 页面介绍
ASP.NET Core - Razor页面之Handlers处理方法
原文地址:http://www.cnblogs.com/tdfblog/p/five-things-worth-knowing-about-asp-net-core-tag-helpers.html
.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注