30 Eylül 2015 Çarşamba

MVC HtmlHelper Kullanımı (3)

Geldik yine bir MVC HtmlHelper yazısına. Bundan önceki yazılarımda sizlere @helper metotlarının nasıl kullanılacağını göstermiştim. Bugün ise benim daha çok hoşuma giden ve bence daha esnek yapıya sahip bir kullanıma.

Bu yazımda HtmlHelper sınıfına extension yazacağız ve Viewlerimizin içinde bu extension'ı kullanacağız.

İlk olarak extension metotlarımı yazacağım bir class oluşturuyorum. Tabi ben bunu bir klasör içine alacağım. Yapım böyle ne yapayım :) Projemin içinde HtmlHelpers adında bir klasör oluşturdum ve onun içinde de MyHtmlHelpers adında bir class yaratttım. Sıra geldi kodlarıma.

mvc htmlhelper

Benim bu helperdaki amacım view'ime gelen bir datatable'ı alıp ekrandan göstermek. Her seferinde tekrar tekrar html tagleriyle uğraşmaktansa bu çok büyük bir kolaylık. Şimdi sıra geldi bu extensionımı viewlerime tanıtmaya. Bunun içinde View klasörünün altındaki webconfig dosyamda bu class'ımın namespace'ini vermeliyim.

mvc htmlhelper

Artık viewlerimdeki @Html lerim içinde oluşturduğum MyTable extension metodum çıkacaktır. Hemen deneyelim. Bunun içinde ActionResult'ımın içinde kendim bir DataTable oluşturdum. Onu ViewBag ile view'ime göndereceğim.

mvc htmlhelper
Sıra geldi View'de bu DataTable'ı görüntülemeye. View'ime ekleyeceğim kod sadece aşağıdaki kadardır. İşlemi taglerle teker teker yazmayı düşünün bir de...

mvc htmlhelper
Bakalım kodumuz nasıl bir çıktı verecek bize.

mvc htmlhelper

Bence oldukça iyi oldu. Tabi bu işin içine css leride katarak daha güzel bir dizayn çıkarabilirsiniz. Hatta Bootstrap kullanırsanız daha da güzel olabilir ama konumuz şu anda bunlar olmadığı için girmiyorum. Bu kullanımın daha önceki kullanımlardan daha kullanışlı demekdeki neden ise generic metotlar ile collectionlardan tablolar oluşturabilecek olmanız. Tabi bunun için reflection bilmek gerekiyor. Gerekirse birde öyle örnek yaparız. Sorun değil ;)





Hiç yorum yok:

Yorum Gönder