在ASP.NET MVC 3中应用数据注释时,您打算如何使用Prompt,Description,Ordering?

4im*_*ble 6 html5 data-annotations razor asp.net-mvc-3

我有一个带有属性的视图模型,如下所示:

    [Display(Name = "Some Property", Description = "This is description", Prompt = "This is prompt")]
    [Required(ErrorMessage = RequiredFieldMessage)]
    public string SomeProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

但这似乎没有在视图中呈现任何额外的内容.你需要做一些额外的工作吗?

    <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>
Run Code Online (Sandbox Code Playgroud)

Pau*_*yng 14

并非所有内置的EditorTemplates都利用了所有的DataAnnotations,但是当你编写自己的EditorTemplates时,它们就可以利用它们.

订购并不适用,除非你正在做DisplayForModel或者EditorForModel它为模型上的所有属性显示多个编辑器,它可以适当地订购编辑器.

如果你想利用DescriptionPrompt元数据,你可以编写自己的StringEditorTemplate:

@model string
@Html.TextBox("", ViewData.TemplateInfo.FormattedModelValue, new { 
    @title = ViewData.ModelMetadata.Description, 
    @placeholder = ViewData.ModelMetadata.Watermark})
Run Code Online (Sandbox Code Playgroud)