什麼是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>