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 :)
Hasan Akpürüm11/7/2015 4:32:36 PM
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
legedema10/12/2015 4:45:01 PM
Rica etsem resimleri tekrar yükleyebilir misiniz?