Asp.net MVC4 開發的項目,發佈到真實環境環境後Model中的一個屬性設置的了Attribute,可是這些Attribute都失效。服務器
通過對比和堅持代碼發現控制長度的Attribute使用錯誤。ui
[StudentCode] [Required(ErrorMessage = ValidationMessages.Required)] [MaxLength(20, ErrorMessage = "學號不超過20位")] [Display(Name = "學號")]
public string StudentCode { get; set; }
經過上面的代碼能夠看出,控制字符長度的Attribute是用在INT型上的Attribute。正確代碼爲spa
[StudentCode] [Required(ErrorMessage = ValidationMessages.Required)] [StringLength(20, ErrorMessage = "學號不超過20位")] [Display(Name = "學號")] public string StudentCode { get; set; }
Model中屬性設置Attribute不起做用,這是其中的一個緣由。.net
目前沒有深刻了解其緣由,在本地開發環境沒有這個問題。服務器和開發環境的區別是服務器是Framework4.0 而開發環境是Framework4.5code