自定义数据注解ASP.NETMVCC#我有以下关于使用C#的MVC2的问题。这是我的模型:放;现在我想在我的视图中访问TooltextItemslike:@Html.ToolTextFor(Model=>Model.Pmjob.Name)或者在BL中:if(Model.Pmjob.Name.Tooltext==""){}是这个可能的?创建抽象类MetaDataAttribute:publicabstractclassMetadataAttribute:Attribute{//////处理自定义属性数据的方法。//////一个模型元数据实例。公共抽象无效过程(模型元数据模型元数据);}让你的属性从MetaDataAttribute继承:publicclassToolTextAttribute:MetadataAttribute{publicstringText{get;放;}publicTooltextAttribute(stringtext){this.Text=newtext;}publicoverridevoidProcess(ModelMetadatamodelMetaData){modelMetaData.AdditionalValues.Add("ToolText",this.Text);}}创建自定义MetaDataProvider:publicclassCustomModelMetadataProvider:DataAnnotationsModelMetadataProvider{protectedoverrideModelMetadataCreateMetadata(IEnumerableattributes,TypecontainerType,FuncmodelAccessor,TypemodelType,stringpropertyName){varmodelMetadata=base.CreateMetadata(attributes,containerType,modelAccessor,modelType,propertyName);}attributes.OfType().ToList().ForEach(x=>x.Process(modelMetadata));返回模型元数据;}}并替换默认值(global.asax.cs):在视图中(或者在HtmlHelper中)访问它:(string)ViewData.ModelMetadata.AdditionalValues.Where(x=>x.Key=="ToolText").SingleOrDefault()资源:以上是C#学习教程:自定义数据注释所有由ASP.NETMVCC#共享的内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权请点击维权联系管理会员删除如需转载请注明出处:
