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
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
ASP.NET MVC LabelFor Yardımcı kullanma...
görünen isim vs görüntü özniteliği...
Oracle SQL bir tablo için tüm kısıtlam...
Eğer bir veri özniteliği varsa kontrol...
'olmayan mutasyona " için en ...