我有一个带有属性的视图模型,如下所示:
[Display(Name = "Some Property",Description = "This is description",Prompt = "This is prompt")] [required(ErrorMessage = requiredFieldMessage)] public string SomeProperty { get; set; }
但这似乎没有在视图中呈现任何额外的内容.你需要做一些额外的工作吗?
<div class="editor-label"> @Html.LabelFor(model => model.SomeProperty ) </div> <div class="editor-field"> @Html.TextAreaFor(model => model.SomeProperty,5,80,null) @Html.ValidationMessageFor(model => model.SomeProperty ) </div>
解决方法
并非所有内置的EditorTemplates都利用了所有的DataAnnotations,但是当你编写自己的EditorTemplates时,它们就可以利用它们.
除非您正在使用DisplayForModel或EditorForModel来显示模型上所有属性的多个编辑器,否则排序并不真正适用,它可以适当地对编辑器进行排序.
如果您想利用Description和Prompt元数据,您可以编写自己的String EditorTemplate:
@model string @Html.TextBox("",ViewData.TemplateInfo.FormattedModelValue,new { @title = ViewData.ModelMetadata.Description,@placeholder = ViewData.ModelMetadata.Watermark})