IIS не распознает аннотации модели представления

У меня есть базовая модель представления MVC с аннотациями, например:

    [Required(ErrorMessage="Your Name Required")]
    [Display(Name = "Your Name")]
    [DataType(DataType.Text)]
    [MaxLength(120, ErrorMessage = "Must be under 120 characters")]                
    public String  YourName { get; set; }

У меня есть строго типизированное представление, основанное на этой модели представления. Когда я запускаю приложение локально, следующий код генерирует метку «Ваше имя»:

@Html.LabelFor(model => model.YourName)

Когда приложение развертывается в IIS7 с пулом приложений .NET 4, метка гласит «Ваше имя» (без пробела).

Это очень странно, и я не сталкивался с этим раньше. Есть ли у кого-нибудь идеи, что может быть причиной этого?

Кэш очищен, это было протестировано из ряда веб-сайтов клиентов и результат тот же.

Редактировать:

@model MVC.Web.Models.ContactUsModel

<div>
    @Html.LabelFor(model => model.YourName)
    @Html.EditorFor(model => model.YourName)       
</div>

Редактировать 2 Все аннотации в этом поле игнорируются. Есть и другие поля текстового типа, и у них такая же проблема. Это происходит только на живом сервере. Live-сервер - это IIS 7, настроенный в Plesk 10.2. Интересно, является ли это ошибкой, поскольку я использую MVC 3 RTM.

Edit 3 В той же модели представления у меня есть свойство Email:

    [Required(ErrorMessage = "Your Email Is Required")]
    [Display(Name = "Your Email")]
    [RegularExpression(@"^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$", ErrorMessage = "Your Email Is Invalid")]
    [DataType(DataType.Text)]
    public String FromEmail { get; set; }

Это свойство используется в представлении:

    <div>
        @Html.LabelFor(model => model.FromEmail)    
        @Html.EditorFor(model => model.FromEmail)        
    </div>

Но работает отлично :( Таким образом, свойство email отлично работает как в среде live, так и в среде разработки. Другие свойства работают только в среде разработки. среда разработки.

Редактировать 4 Удаление аннотаций MaxLength и MinLength устранило проблему. Я все же хотел бы использовать аннотации MaxLength и MinLength как часть моей процедуры проверки модели.

[MinLength(3, ErrorMessage = "Minimum 3 Characters")]
[MaxLength(30, ErrorMessage = "Maximum 30 Characters")]
16
задан 15 June 2011 в 12:28
поделиться