ASP。净MVC模型元数据(四)
前言强>
,
强> <强>元模型数据强>
- <李>
李> <李>
李> <李>
李> <李>
李> <李>
李> <李>
李> <李>
李>
,
代码1 - 1
,public class MyCustomModelMetadataProvider: DataAnnotationsModelMetadataProvider ,,,{ ,,,,,,,protected override ModelMetadata CreateMetadata (IEnumerable, modelAccessor,, Type modelType,, string propertyName) ,,,,,,,{ ,,,,,,,,,,,DataAnnotationsModelMetadata result =, new DataAnnotationsModelMetadata (containerType,这一点,还以为,modelAccessor, modelType,, propertyName,, displayColumnAttribute); ,,,,,,,,,,,return 结果; ,,,,,,,} ,,,}
ModelMetadataProviders.Current =, new MyCustomModelMetadataProvider ();
protected override ModelMetadata CreateMetadata (IEnumerable, modelAccessor,, Type modelType,, string propertyName) ,,,,,,,{ ,,,,,,,,,,,List , attributeList =, new List (属性); ,,,,,,,,,,,DisplayColumnAttribute DisplayColumnAttribute =, attributeList.OfType () .FirstOrDefault (); ,,,,,,,,,,,DataAnnotationsModelMetadata result =, new DataAnnotationsModelMetadata (containerType,这一点,还以为,modelAccessor, modelType,, propertyName,, displayColumnAttribute); ,,,,,,,,,,, ,,,,,,,,,,,//,Do [HiddenInput], before [UIHint], so 你还要override 从而template 提示 ,,,,,,,,,,,HiddenInputAttribute HiddenInputAttribute =, attributeList.OfType () .FirstOrDefault (); ,,,,,,,,,,,if (hiddenInputAttribute !=, null) ,,,,,,,,,,,{ ,,,,,,,,,,,,,,,result.TemplateHint =,“HiddenInput”; ,,,,,,,,,,,,,,,result.HideSurroundingHtml =, ! hiddenInputAttribute.DisplayValue; ,,,,,,,,,,,} ,,,,,,,,,,,//,prefer 我方表示歉意(UIHint (“…”, PresentationLayer =, MVC)], but will fall back 用[UIHint (“…”) ,,,,,,,,,,,IEnumerable , uiHintAttributes =, attributeList.OfType (); ,,,,,,,,,,,UIHintAttribute UIHintAttribute =, uiHintAttributes.FirstOrDefault (a =祝辞,String.Equals (a.PresentationLayer,“MVC, StringComparison.OrdinalIgnoreCase)) ,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,? ?,uiHintAttributes.FirstOrDefault (a =祝辞,String.IsNullOrEmpty (a.PresentationLayer)); ,,,,,,,,,,,if (uiHintAttribute !=, null) ,,,,,,,,,,,{ ,,,,,,,,,,,,,,,result.TemplateHint =, uiHintAttribute.UIHint; ,,,,,,,,,,,} null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null ASP。净MVC模型元数据(四)