@Html.Label可以用来显示字段的Display(Name=“”),@Html.DisplayText显示模型中字段值。没有找到用来 显示模型中字段的Display(……,Description=“”)属性的HtmlHelper。先自己写一个用。在项目中新建Extensions 文件夹,右键添加类DisplayDescriptionExtensions,在生成的代码中将命名空间改为System.Web.Mvc.Html, 添加两个静态方法DisplayDescription和DisplayDescriptionFor。完成后代码
using System.Linq.Expressions; namespace System.Web.Mvc.Html { public static class DisplayDescriptionExtensions { /// <summary> /// 模型描述信息 /// </summary> /// <param name="htmlHelper"></param> /// <param name="name"></param> /// <returns></returns> public static MvcHtmlString DisplayDescription(this HtmlHelper htmlHelper, string name) { ModelMetadata _modelMetadata = ModelMetadata.FromStringExpression(name, htmlHelper.ViewData); return MvcHtmlString.Create(_modelMetadata.Description); } /// <summary> /// 模型描述信息 /// </summary> /// <typeparam name="TModel"></typeparam> /// <typeparam name="TResult"></typeparam> /// <param name="htmlHelper"></param> /// <param name="expression"></param> /// <returns></returns> public static MvcHtmlString DisplayDescriptionFor<TModel, TResult>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TResult>> expression) { ModelMetadata _modelMetadata = ModelMetadata.FromLambdaExpression(expression,htmlHelper.ViewData); return MvcHtmlString.Create(_modelMetadata.Description); } } }