如何显示DisplayAttribute.Description属性值?
我有一个模型类,具有这样的属性:
[Display(Name = "Phone", Description="Hello World!")]public string Phone1 { get; set; }
在我的视图中显示标签并渲染文本框以供输入非常简单:
@Html.LabelFor(model => model.Organization.Phone1)@Html.EditorFor(model => model.Organization.Phone1)
@Html.ValidationMessageFor(model => model.Organization.Phone1)
但是,如何渲染Description注释属性的值,即“ Hello World!”?
回答:
我最终得到了这样的帮手:
using System;using System.Linq.Expressions;
using System.Web.Mvc;
public static class MvcHtmlHelpers
{
public static MvcHtmlString DescriptionFor<TModel, TValue>(this HtmlHelper<TModel> self, Expression<Func<TModel, TValue>> expression)
{
var metadata = ModelMetadata.FromLambdaExpression(expression, self.ViewData);
var description = metadata.Description;
return MvcHtmlString.Create(string.Format(@"<span>{0}</span>", description));
}
}
感谢那些引导我朝着正确方向前进的人。:)
以上是 如何显示DisplayAttribute.Description属性值? 的全部内容, 来源链接: utcz.com/qa/419407.html