Özel bir görüntüleyici veya düzenleyici şablonunda, model hakkında ViewData.ModelMetadata
aracılığıyla meta veriler elde edebileceğimi biliyorum. Bu özellik, IsRequired
, DisplayName
vb. Gibi özellik için belirli meta veri özniteliklerinin tanımlanıp tanımlanmadığını gösteren özelliklere sahiptir. Ancak, özel nitelikler yoluyla mülke eklediğim özel meta verilere erişebilir miyim?Özel bir görüntüleyici veya düzenleyici şablonundan ek meta veri bilgilerine erişmek mümkün mü?
[UIHint("Whizbang")]
[SomeAttribute("foobar")]
public string LeftWhizbang { get; set; }
Ve aşağıdaki içeriği Whizbang.cshtml
adlı özel gösterim şablon var: Örneğin
@model string
Left Whizbang Value: @Model
Ne ediyorum LeftWhizbang
özelliğinin SomeAttribute
özniteliğine sahip olup olmadığını belirleyebilir ve eğer öyleyse, özniteliğin Message
özelliğine (demek), yani "foobar" değerine erişmek isterim.
@model string
Left Whizbang Value: @Model
@{
SomeAttributeAttribute attr = ViewData.ModelMetadata.GetAttributes(...);
if (attr != null)
{
<text>... and the value is @attr.Message</text>
}
}
bu hiç mümkün mü, yoksa bir çıkmaz aşağı arıyorum:
Şablonumdaki böyle bir şey yapmak mümkün istiyorum?
Çok yararlı, teşekkürler paylaşım için:
o hakkında ÖncelikleDataAnnotationsModelMetadataProvider
bilmesi Daha sonra bir yardımcı yöntemi oluşturarak niteliğini erişebilirsinizIMetadataAware
uygulayan niteliğini gerekir! –