Как вы собираетесь использовать подсказку, описание, порядок при применении аннотаций данных в ASP.NET MVC 3 - PullRequest
6 голосов
/ 07 ноября 2011

У меня есть модель вида со свойством, которое выглядит следующим образом:

    [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>

1 Ответ

14 голосов
/ 07 ноября 2011

Не все встроенные 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})
...