ASP MVC 2 Аннотации данных не работают с VS2008 / ASP 3.5? - PullRequest
0 голосов
/ 04 августа 2010

Я добавил аннотации данных в класс «приятелей», как указано в руководстве MS.В частности, [DisplayName ("Name")], похоже, ни на что не влияет.Насколько я понимаю, на значение, назначенное аннотации, следует ссылаться и использовать помощник Html.LabelFor(m => m.Attribute) для отображения метки для поля.

Я ошибаюсь в этом?

Я заметил вВ классе данных представления существует представление строгого типа, называемое EntityName + EntityName_Validation.Это требует дополнительных компонентов?

Я попытался создать представление, используя один из этих типов, и в результирующем представлении отсутствуют строительные леса.Возможно, это совсем другая тема.UIHint, похоже, тоже не оказывает никакого влияния.

Как уже упоминалось, это код ASP.NET 3.5 в VS2008.Я использую Linq для SQL.Возможно, это также дисквалифицирует полное использование аннотаций данных.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;

    namespace Sample.Models {

        [MetadataType (typeof (SampleRequest_Validation))]
        public partial class SampleRequest {

            public class SampleRequest_Validation {

                [DisplayName ("Description of Project:")]
                [Required (ErrorMessage = "Project description is required.")]
                [StringLength (500, ErrorMessage = "Project description cannot exceed 500 characters.")]
                [UIHint ("TextArea")]
                string ProjectDescription {get; set;}

Я подозреваю, что где-то отсутствует ссылка ...

Спасибо!

1 Ответ

0 голосов
/ 12 августа 2010

Ладно, чего-то не хватало ...

Я не объявил атрибуты класса как публичные, поэтому, конечно, аннотации данных не удалось.

Последняя строка из фрагмента кодавыше следует читать:

public string ProjectDescription {get; set;}

Самые маленькие вещи ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...