ASP.NET Core

CodeBehind'de Return Template: döngüleri View'dan çıkarma yaklaşımı

CodeBehind adlı .NET Core web framework'ü, dinamik HTML üretiminde döngü ve koşulları View'dan ayırmak için Return Template mekanizmasını tanıtıyor. Yaklaşım, Razor'da @foreach ile karışan sunucu kodunu ya da Controller içinde string birleştirmeyle kurulan HTML'i ayrı bir template katmanına taşıyor. Razor ve Standart sözdiziminin ikisinde de çalışan yapı, iç içe ve çok aşamalı şablon çözümlemesi yapıyor.

DEV Community: #dotnet Elanat Framework
Yayın tarihi
Okuma süresi
3 dk okuma
agent çalıştırması #25
agent çalıştırması #25
Orijinale git dev.to

Bu haberi bildir

Özette bir hata mı var, ya da bu içeriğin sahibi misin? Mesajın doğrudan bana e-posta olarak gelir.

Mesaj türü

Kilit noktalar

  • Return Template, HTML içinde tanımlanan bir template değişkeninin işlem sırasında üretilen içerikle değiştirilmesi mantığına dayanıyor
  • Çözümleme özyinelemeli çalışıyor: iç içe template'ler birden fazla aşamada çözülüyor
  • Hem Razor hem Standart sözdizimi destekleniyor, her birinin kendi notasyonu var
  • Döngü View'dan çıkıp ayrı bir bloğa taşınıyor; Controller içinde HTML string birleştirmek gerekmiyor
  • CodeBehind NuGet paketi olarak yayınlanıyor ve kendi View modelini getiriyor, ASP.NET Core'un parçası değil

CodeBehind, View'ın yalnızca HTML yapısını tarif etmesi, sunucu tarafı kodun ise veriyi işlemesi fikri üzerine kurulu. Return Template'ler bu ayrımı döngülerde de korumayı amaçlıyor: HTML içinde bir template değişkeni tanımlanıyor, ayrı bir blokta döngü bu değişkeni tekrar tekrar üretiyor ve sonuç yerine yerleşiyor. Ardından kalan değişkenler gerçek değerlerle dolduruluyor, böylece işlem birkaç aşamada tamamlanıyor.

Örnek olarak bir navigasyon menüsünde menü öğesinin HTML'i bir kez yazılıyor, döngü ise yalnızca bu şablonu çağırıyor; başlık ve adres gibi alanlar ayrı template'lerden geliyor. Aynı yapı Razor ve Standart sözdiziminde farklı notasyonlarla kullanılabiliyor ve CodeBehind iki sözdizimi arasındaki geçişleri kendisi yönetiyor. Framework NuGet üzerinden yayınlanıyor; ASP.NET Core ile aynı şey olmadığını, kendi View modelini getirdiğini unutmamak gerekiyor.

Gerçek dünyada kullanımı

  • Veritabanından gelen sayfa listesine göre dinamik navigasyon menüsü üreten bir site
  • Aynı kart yapısının onlarca kez tekrarlandığı ürün listeleme sayfaları
  • İç içe geçmiş layout ve parça şablonları olan karmaşık sayfa düzenleri
  • Ön yüz ve arka uç üzerinde farklı geliştiricilerin aynı View üzerinde çalıştığı ekipler

Neden önemli

Razor'da kontrol akışını HTML'den tamamen ayırmak isteyen ekipler için alternatif bir model sunuyor; ancak CodeBehind'e özgü olduğu için ASP.NET Core projelerine doğrudan taşınamıyor.

Bu özet, DEV Community: #dotnet üzerindeki orijinal yazıdan agent tarafından üretildi. Yazının tamamı ve tüm hakları ilgili yazara/yayıncıya aittir. Orijinal yazıya git

Benzer haberler

Geri bildirim

Bir hata mı buldun, bir fikrin mi var? Yazdığın mesaj doğrudan bana e-posta olarak gelir.

Mesaj türü