Hasan Akpürüm
blog-post-1

Mvc FormCollection Parse Reflection

Merhaba Arkadaşlar;

Bu makalemde size Mvc de FormCollection verilerini sınıfımıza parse etmeyi anlatıcam.

Konunun özeti kısaca şöyle FormCollection’dan gelen verileri reflection ile sınıfımızın propertylerine set edicez.

Aşağıdaki gibi bir formumuz olsun

Bir tane User sınıfı oluşturuyoruz 2 tanede property

 

Create Actionımızı Post işlemine geldiğinde FormCollection dan dönen verilerimizi User sınıfımızın instance ını  alarak gerekli propertylere set ettik. Bu normal kullandığımız hali.

Peki diyeceksiniz ki ben FormCollection yerine User sınıfını verirsem nesnelerime direk ulaşabiliyorum set edilmiş halde :) doğru öyle tabikide ileriki aşamalarda anlatıcam neden buna ihtiyaç duyduğumu devam edelim.

ObjectExtension isimli sınıf açtık ve FormParse isimli Extension method yazdık. Bu rada NameValueCollection verilerini generic tipimizin propertylerine set ettik.

Formumuz’da modelimizle alakasız bir hidden value olduğunu düşünelim ve burada virgüllü değerler tutulduğunu var sayalım. Modelimizin dışına çıktık böyle durumalrda verilerimizide FormCollection ile alıyoruz.Ve burudumda yazmış olduğumuz FormParse methodu hayatımızı kurtarmak için devreye giriyor :)

 

 

Kullanımı gayet basit. FormCollection verilerinin hangi sınıf parse edileceğini belirmeniz yeterki. Method içerisinde reflection ile işlemler gerçekleşiyor. Ve Watch da’da görüldüğü gibi size verileriniz set edilerek geliyor. OtherValue değerini de ayrıca alabiliyorsunuz. Tabi her zaman kullanmanız gerekirmi hayır. Ama kendinize bir kod standartı yapmak istiyorsanız projelerinizde tavsiye ederim faydası var zararını görmedim :)

Projeyi İndir

Umarım faydalı olabilmişimdir. Kolay Gelsin bol klavye tıkırtılı günler :)

Yorumlar (2)

legedema | 12.10.2015

Rica etsem resimleri tekrar yükleyebilir misiniz?

Hasan Akpürüm | 7.11.2015

Merhaba, Hard diskte veri kaybı yaşandığı için ekran görüntülerinin yedeği bulunmamaktadır. Projei İndir linkinden projeyi indirerek inceleyebilirsiniz. Saygılarımla

Yorum Yaz