我在使用mvc2時遇到問題。DataAnnotation屬性在Asp.Net MVC2中不起作用
我正在使用實體框架作爲我的ORM。我使用POCO實體生成器來創建POCO對象。我將生成的對象移動到單獨的項目。我遵循這裏列出的步驟(Tutorial)。這是我的項目結構
Sports.Data - 實體Frmework和數據訪問
Sports.Entities - 生成的POCO對象和哥們類
Sports.Web - Web應用程序
在Sports.Entities項目我已經爲生成的pocos創建好友類。
我遇到的問題是屬性被mvc忽略。驗證不起作用並且正在顯示正確的標籤文本。顯示「襯衫尺寸」而不是「襯衫尺寸」。
我在做什麼錯?
感謝您的任何幫助。
這是代碼。
<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; }
}
}