VİEW
Görsel Deneyimin Gücü: View Katmanının Önemi
ASP.NET Core MVC'de View katmanı, kullanıcıya gösterilecek arayüzü oluşturur. Bu katmanda, HTML markup ile sunucu tarafından sağlanan verileri birleştirerek dinamik web sayfaları üretilir. View'lar genellikle Razor view engine kullanılarak oluşturulur ve .cshtml dosya uzantısına sahiptir.
Razor Syntax
Razor, ASP.NET Core MVC ile kullanılan bir markup syntax'tır ve C# ile HTML'in birleşiminden oluşur. Razor, dinamik içerik üretmek için HTML ile C# kodlarını kolaylıkla entegre etmenize olanak tanır. Razor view'ları, C# kodlarını @ işareti ile HTML içerisine yerleştirmek suretiyle çalışır.+
View Bileşenleri
ASP.NET Core'da View bileşenleri, View'lar içinde kullanılabilen yeniden kullanılabilir parçalardır. Bu bileşenler, Partial Views, View Components, Tag Helpers gibi çeşitli yapıları içerebilir.
Partial Views: Diğer View'lar içinde yerleştirilebilen, yeniden kullanılabilir View parçalarıdır. Genellikle tekrar eden içerik blokları için kullanılır.
View Components: Partial View'lardan daha karmaşık işlevlere sahip olup, kendilerine ait controller mantığına sahip bileşenlerdir.
Tag Helpers: HTML tag'lerini server-side olarak işleyen ve HTML elementlerini kolayca yönetmenizi sağlayan Razor markup yardımcılarıdır.
ViewData, ViewBag ve TempData
ViewData, ViewBag ve TempData ASP.NET Core MVC'de veri taşımak için kullanılan yapılarıdır. Her biri farklı senaryolarda tercih edilir.
ViewData: Dictionary tabanlı bir yapıdır ve ViewData["Key"] = value; şeklinde veri taşır. Tip güvenli değildir, bu nedenle veri çekerken casting yapılmalıdır.
ViewBag: ViewData ile aynı veri kümesini kullanır fakat dynamic özellikler barındırır. Bu sayede ViewBag.Key = value; şeklinde daha esnek bir kullanım sunar. Tip güvenliği yoktur.
TempData: Controller veya View'lar arasında tek seferlik veri taşımak için kullanılır. TempData, session bazlıdır ve genellikle bir istekten diğerine veri taşımak için kullanılır (örneğin, form işlemeleri sonrası yönlendirmelerde).
Razor syntax ve View bileşenleri, ASP.NET Core MVC'de dinamik ve interaktif web uygulamaları oluşturmanın temelini oluşturur. ViewData, ViewBag ve TempData ise farklı senaryolarda veri taşıma ve yönetimi için güçlü araçlar sunar.
Yorumlar
Yorum Gönder