ASP.NET Core - 关于标签帮助器值得了解的五点
如果您開發過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跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的ASP.NET Core - 关于标签帮助器值得了解的五点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: .NET Core 2.0使用NLog
- 下一篇: C#使用Xamarin开发可移植移动应用