ASP.NET MVC: veri girişi sonra dizeleri kesmek için en İyi yol. Özel model binder oluşturmalıyım? | Netgez.com
SORU
11 Kasım 2009, ÇARŞAMBA


ASP.NET MVC: veri girişi sonra dizeleri kesmek için en İyi yol. Özel model binder oluşturmalıyım?

ASP.NET MVC kullanıyorum ve kullanıcının girdiği tüm dize alanları veritabanına eklenen önce kesilmiş olmak istiyorum. Ve birçok veri giriş formları beri, zarif bir şekilde açıkça her kullanıcı string değer verilen kırparak yerine ipleri kesmek için arıyorum. İnsanlar dizeleri süsleme nasıl bilmek istiyorum.

Belki de özel model bir cilt oluşturma ve herhangi bir dize süsleme orada değerler düşündüm...böylece tüm süsleme mantığım bir yerde yer alıyor. Bu iyi bir yaklaşım mı? Herhangi bir kod örnekleri bu ne var?

CEVAP
14 Kasım 2009, CUMARTESİ


  public class TrimModelBinder : DefaultModelBinder
  {
    protected override void SetProperty(ControllerContext controllerContext, 
      ModelBindingContext bindingContext, 
      System.ComponentModel.PropertyDescriptor propertyDescriptor, object value)
    {
      if (propertyDescriptor.PropertyType == typeof(string))
      {
        var stringValue = (string)value;
        if (!string.IsNullOrEmpty(stringValue))
          stringValue = stringValue.Trim();

        value = stringValue;
      }

      base.SetProperty(controllerContext, bindingContext, 
                          propertyDescriptor, value);
    }
  }

Bu kodu nasıl?

ModelBinders.Binders.DefaultBinder = new TrimModelBinder();

Küresel ayarlayın.asax Application_Start olay.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • pendrop gaming

    pendrop gami

    4 ÅžUBAT 2013
  • Rootjunky.com

    Rootjunky.co

    22 EKÄ°M 2011