Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
ASP.NET Core Tag Helper'lar: Yerleşik Tag Helper'lar ve Kendi Tag Helper'ını Yazmak
Tag helper, Razor'daki HTML etiketini sunucuda işleyen ve derleme anında bağlanan bir C# class'ıdır; asp-for tek başına id, name, label, input tipi ve data-val attribute'larını üretir. Yerleşik anchor, form, input, select, environment ve cache tag helper'larının gerçek çıktısını, HTML Helper farkını ve enum attribute'unda @ unutunca kırılan build'i görüp kendi <status-badge> ve yetkiye göre gizlenen <secure-link> tag helper'larımızı yazıyoruz.
Razor Syntax ve Layout'lar: @ İfadeleri, HTML Encoding, _Layout, Section'lar, _ViewStart ve _ViewImports
Razor, @ ile yazılan her değeri varsayılan olarak HTML encode eder; bu XSS'i kapatır ama Türkçe karakterleri de ı gibi entity'lere çevirir, WebEncoderOptions ile düzeltilir. Implicit ve explicit expression farkını, Html.Raw'ın ve JavaScript'e '@Model' gömmenin tehlikesini, Json.Serialize'ı, section'ları, _ViewStart/_ViewImports hiyerarşisini ve nested layout'ta kaybolan section hatasını gerçek çıktılarla görüyoruz.