ASP.NET MVC ile cshtml Dosyasında Helper Oluşturma ve Kullanma

ASP.NET MVC’de classlar yardımıyla basitçe HtmlHelper’ları oluşturduğumuzu biliyoruz fakat cshtml uzantılı doyalarınızda sayfaya özel helper’lar oluşturma için yapmanız gereken çok basit makale devamındaki örnek kodlar ile ne demek istediğimiz anyalacaksınız.

ASP.NET MVC ile cshtml Dosyasında Helper Oluşturma ve Kullanma

Örnek 1

İlk örneğimizde Kisalt adındaki metodumuza geçeceğimiz iki parametre ile string değerin ne kadarlık kısmının gösterileceğini ayarlayabiliyor olacağız eğer belirttiğimiz uzunluk değerinden büyük ise kisaltip sonuna 3 nokta ekleyecektir değil ise olduğu gibi geri yazdıracaktır.

Örnek helper kodu ve kullanımı

Üstteki helper ile özellikle haber ve blog sitelerinizde metinlerin sadece belli bir kısmın gözükmesini sağlamak için kullanırız bazen kötü yöntemlerden biri olan her sayfaya aynı metodu server side yada javascript tarafında tanımlayarak ilgili metodu kullanırız yada global bir javascript fonksiyonu ilede bu işi yapabiliriz bir diğer yöntem ise C# extension metodlar yardımı ile bu yöntemi kullanabiliriz bu saydığım yöntemler üstteki örnek için evet doğrudur diyebiliriz fakat @helper metodlarımızda eğer html kodlar dönmemiz gerekirse bu durumda diğer saydığım yöntemlerden ilkel yöntem olan html kodlarını string birleştirme işlemine tabi tutup cshtml dosyanızda Html.Raw() gibi bir parser kullanmanız gerekecek bunuda sürekli sürekli her yerde yapmak sıkıcı olabilir ve kod okunabilirliği ve performans konusunda kötü sonuçlar elde edilmesine sebep olunabilir.

Fiyat bilgisi gösteren bir helper’ımız olsun ve bu helper eğer fiyat 0 ise kırmızı renkte ÜCRETSİZ yazan bir span elementi dönmesini sağlayalım eğer 0’dan büyük ise o zaman para formatında span etiketi içerisinde dönderilmesini sağlayalım.

Peki bu helper metodunun kullanımı nasıl olacak hemen ona bakalım.

Birçok sayfada kullanacağınız metod’lar için her sayfaya ilgili tanımı yapmak kod karşamasına sebep olacaktır peki 1 yerden tanımlayıp nasıl heryerde kullanabiliriz birazda buna gözgezdirelim. App_Code klasörü altında cshtml içerisinde tanımladığımız helper’lar proje genelinde rahatlıkla kullanılabilmektedir.

SNAGHTML2107b6ae thumb 37A43081

Hemen App_Code altında cshtml içerisinde tanımladığımız bu metod’un nasıl kullanıabildiğine bakalım.

SNAGHTML210d65c1

Altta görüleceği üzere global olarak tanımlandığınız uygulama seviyesinde bize istediğimiz cshtml içerisinde global olarak kullanma olanağı sağlıyor ve intellisence sorunsuz çalışıyor.

image thumb 5EAEC9F6

Daha detaylı bilgi için tıklayınız.

5/5 - (2 votes)

Murat Öner sitesinden daha fazla şey keşfedin

Okumaya devam etmek ve tüm arşive erişim kazanmak için hemen abone olun.

Okumaya Devam Edin