ASP NET Core Tag Helper

Bu yazıda sizlere ASP.NET Core'da tag helper olayını  anlatmaya çalışacağım.

Tag Helper nedir ve yararları nelerdir?

Tag helper server-side kodlarımızı html tagleri gibi oluşturup kullanmamızı sağlar. Tag Helper HTML ve C# arasındaki geçişleri azaltır.(Yani Razor görünümü azalır-@ kullanımı azalmış olur.) Bu da bizlere Viewmizin daha okunabilir, anlaşılabilir ve kolay geliştirilebilir hale getirmesini sağlamaktadır.

Örneğin;

  @Html.ActionLink("Go to index","Index","Home")
  <a asp-action="index" asp-controller="home" >Go to index</a>

HTML taglerimide asp- dediğimizde o tagin Tag Helperları kullanabiliriz. VS bizlere IntelliSense desteğini de sağlamaktadır.

Tag Helperları kullanmak istiyorsak; View/_ViewImports.cshtml üzerinden yapıyoruz.

Görüntüde gördünüz gibi default olarak burada bir Tag Helper eklenmiş bulunmaktadır. Yukarıdaki vermiş olduğum örneğin çalışmasını sağlayan resimdeki Tag helper(Microsoft.AspNetCore.Mvc.TagHelpers) dır.

Bunu kaldırdığım vakit yukarıdaki örneğimiz çalışmayacaktır.

Eğer bir tag helper eklemek veya çıkarmak istiyorsak.

Eklemek için : @addTagHelper

Çıkarmak için: @removeTagHelper

@addTagHelper *, ProjectName

Projemizdeki bütün tag helperları al dedik spesifik bir şey eklemek istediğimizde * yerine onun adını yazabiliriz.

Tag Helperımızı devre dışı bırakmak.

Bunun için Tagmizin başına (!)ünlem işareti koymamız yeterli olacaktır.

Kaynak kodu:

Tag Helper @tagHelperPrefix kullanımı

@tagHelperPrefix tag helperlarımıza ön ek eklememizi sağlamaktadır.

@tagHelperPrefix th:

Tag Helper kullanmak istediğimizde artık başına th: kullanımı zorunlu hale getirmiş olduk. th: kullanmadığımız takdirde normal bir tag olarak algılayacaktır.

Bu yazımda kısaca Tag Helper'a değinmeye çalıştım. İnşallah birilerinin faydalanması dileğiyle... :)