У меня возникают проблемы с mvc2.Атрибуты DataAnnotation, не работающие в Asp.Net MVC2
Я использую Entity Framework как свой ORM. Я использовал генератор объектов POCO для создания объектов POCO. Я переместил сгенерированные объекты в отдельный проект. Я выполнил описанные здесь шаги (Tutorial). Это моя структура проекта
Sports.Data - Entity Frmework и доступ к данным
Sports.Entities - РоКо объекты, создаваемые и классы приятеля
Sports.Web - Веб-приложение
В Проект Sports.Entities Я создал классы приятелей для сгенерированных pocos.
Проблема, с которой я сталкиваюсь, заключается в том, что атрибуты игнорируются mvc. Проверка не работает, и правильный текст ярлыка не отображается. Вместо «Размер рубашки» отображается «ShirtSize».
Что я делаю неправильно?
Спасибо за любую помощь.
Вот код.
<div>
<%: Html.LabelFor(m => m.Player.ShirtSize)%>
</div>
<div class="editor-field">
<%: Html.EditorFor(m => m.Player.ShirtSize) %>
<%: Html.ValidationMessageFor(m => m.Player.ShirtSize)%>
<div>
namespace Sports.Entities
{
[MetadataType(typeof(PlayerMetadata))]
public partial class Player
{
public double PointsPerGame {
get { return (double) this.Points/this.MatchesPlayed; }
}
}
public class PlayerMetadata
{
[Required(AllowEmptyStrings = false, ErrorMessage = "First Name is required.")]
[StringLength(50, ErrorMessage = "First Name must be 50 characters or less")]
[DataType(DataType.Text)]
object FirstName { get; set; }
[Required(AllowEmptyStrings = false, ErrorMessage = "Last Name is required.")]
[StringLength(50, ErrorMessage = "First Name must be 50 characters or less")]
[DataType(DataType.Text)]
object LastName { get; set; }
[Required(ErrorMessage = "Shirt Size is required.")]
[EnumDataType(typeof(ShirtSizeEnum), ErrorMessage = "Shirt Size is invalid.")]
[DisplayName("Shirt Size")]
object ShirtSize { get; set; }
[Required(ErrorMessage = "Gender is required.")]
[EnumDataType(typeof(GenderEnum) , ErrorMessage = "Gender is invalid.")]
object Gender { get; set; }
[Required(AllowEmptyStrings = false , ErrorMessage = "Date of birth is required.")]
[DataType(DataType.Date)]
object DateOfBirth { get; set; }
}
}