SORU
12 Mart 2010, Cuma


Kaynaklardan özniteliği görünen isim?

Yerelleştirilmiş bir uygulama var, ve eğer belirli bir model özelliği bir Kaynak kümesi için görünen isim olması mümkün olup olmadığını merak ediyorum.

Böyle bir şey yapmak istiyorum:

public class MyModel {
  [Required]
  [DisplayName(Resources.Resources.labelForName)]
  public string name{ get; set; }
}

Ama derleyici dediği gibi bunu yapamam,: "öznitelik bağımsız değişkeni öznitelik parametresi türü sürekli ifade, sattığınız ifade veya dizi oluşturma bir ifade olmalı" :(

Herhangi bir geçici çözüm var mı? Manuel olarak etiket çıktısı duyuyorum, ama doğrulayan çıkış için bunlara ihtiyacım var!

CEVAP
23 Mart 2011, ÇARŞAMBA


Eğer MVC 3 kullanıyorsanız ve .NET Display new kullanabilirsiniz 4, sisteme bağlıyorlar.ComponentModel.Eğlence devri açmıştır ad. Bu özniteliği görünen isim özniteliği değiştirir ve çok daha fazla işlevsellik, yerelleştirme desteği de dahil olmak üzere sağlar.

Senin durumunda, bu gibi kullanabilirsiniz:

public class MyModel
{
    [Required]
    [Display(Name = "labelForName", ResourceType = typeof(Resources.Resources))]
    public string name{ get; set; }
}

Bir yan not olarak, bu öznitelik App_GlobalResources veya App_LocalResources iç kaynakları ile çalışmaz. Bu kaynakları kullanın özel araç ile (GlobalResourceProxyGenerator) vardır. Bunun yerine kaynak dosya için ayarlanmış olduğundan emin 'Gömülü kaynak' ve 'ResXFileCodeGenerator' özel bir araç. kullanımı olun

(Başka bir yan not olarak, MVC ile App_GlobalResources veya App_LocalResources kullanarak olmamalıdır. Bu durumda 5**) neden olduğu hakkında okuyabilirsiniz

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • chickenby

    chickenby

    2 HAZİRAN 2008
  • Gan Eden Productions

    Gan Eden Pro

    11 HAZİRAN 2011
  • Pituvision

    Pituvision

    11 Mart 2006