2016-09-29 63 views
1

自ASP.Net Core發佈以來,Asp團隊比HTML助手更多地使用TagHelpers。ASP.net Core中正確的標籤使用情況是什麼? TagHelpers vs HTML Helper

雖然從控制器腳手架視圖,ASP.Net核心使用TagHelpers創建添加,編輯頁面,但如果您注意到他們使用舊HTML幫助器的索引頁面。

//Ex: 
    <th> 
     @Html.DisplayNameFor(model => model.Package) 
    </th> 

理解ASP.net核心團隊的議程非常混亂。有誰知道在ASP.net Core中做這件事的正確方法是什麼?我的猜測是,@Html.DisplayNameFor(model => model.Package)將很快被標記爲不贊成使用。請解釋?

+0

據我瞭解,TagHelpers'最大的好處是代碼的可讀性。 HtmlHelpers不會從我認爲的框架中刪除,因爲這些基本上只是擴展方法,無論如何都可以輕鬆複製...... – Nsevens

+0

檢查此比較[來自官方文檔](https://docs.asp.net/en /latest/mvc/views/tag-helpers/intro.html#tag-helpers-compared-to-html-helpers) –

回答

1

根據這一線索,

https://github.com/aspnet/Mvc/issues/3003

好像暫時DisplayNameFor在這裏留下來,並且有您的解決方案沒有標籤助手。他們提到<label asp-for="blabla"></label>很多,但這是不一樣的。

1

我覺得標籤助手是要走的路,這是更具可讀性,更清潔,可使用Web窗體天

1

標籤助手在MVC中的新功能來創建更復雜的標記,模擬用戶控件您可以使用它來生成HTML。語法與HTML相似,但在服務器上由Razor處理。標籤助手在很多方面都是Html Helper方法的替代語法,但是它們也提供了一些幫助方法難以或不可能完成的功能。

你可以找到一些比較:https://docs.asp.net/en/latest/mvc/views/tag-helpers/intro.html#tag-helpers-compared-to-html-helpers

,您可以得到更多的細節標籤助手:https://dannyvanderkraan.wordpress.com/2016/04/19/asp-net-core-1-0-goodbye-html-helpers-and-hello-taghelpers/

1

不是每個HTML輔助具有等效的標籤幫手。例如,@Html.DisplayNameFor(m => m.Property)@Html.EditorForModel()沒有等效的Tag幫助器。這很有意義,因爲@Html.DisplayNameFor(m => m.Property)@Html.EditorForModel()並不真正輸出HTML標記。

因此,如果存在等價物,則使用Tag助手來支持Html助手。否則,請使用Html助手。

我不認爲@Html.DisplayNameFor(m => m.Property)將被標記爲已棄用(也不會有任何其他顯示模板或編輯器模板,如@Html.EditorForModel())。這些將繼續在ASP.NET Core中使用。

而且,你可能有興趣在這個線程關於TagHelper相當於Html.DisplayNameFor一個:https://github.com/aspnet/Mvc/issues/2387

相關問題