Hasan Akpürüm
Kıdemli Yazılım Danışmanı
Makele Detayı

Mvc FormCollection Parse Reflection

21.12.2014 17:16:15

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
  • Hasan Akpürüm7.11.2015 16:32:36

    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

  • legedema12.10.2015 16:45:01

    Rica etsem resimleri tekrar yükleyebilir misiniz?

Yorum yaz

Thanks, your message is sent successfully.