首先它工作,但今天它失败了!
这是我如何定义date属性:
[Display(Name = "Date")] [required(ErrorMessage = "Date of Submission is required.")] [DisplayFormat(DataFormatString = "{0:d}",ApplyFormatInEditMode = true)] [DataType(DataType.Date)] public DateTime TripDate { get; set; }
它一直在过去。但是今天,当我调用相同的ApiController操作:
[HttpPost] public HttpResponseMessage SaveNewReport(TripLeaderReportInputModel model)
Firebug报告:
ExceptionMessage: "Property 'TripDate' on type 'Whitewater.viewmodels.Report.TripLeaderReportInputModel' is invalid. Value-typed properties marked as [required] must also be marked with [DataMember(Isrequired=true)] to be recognized as required. Consider attributing the declaring type with [DataContract] and the property with [DataMember(Isrequired=true)]." ExceptionType "System.InvalidOperationException"
发生了什么?不是那些[DataContract]的WCF?我在MVC4中使用REST WebAPI!
任何人可以帮助?请?
— update —
有一些类似的链接,我发现。
MvC 4.0 RTM broke us and we don’t know how to fix it RSS
— update again —
这里是HTTP响应头:
Cache-Control no-cache Connection Close Content-Length 1846 Content-Type application/json; charset=utf-8 Date Thu,06 Sep 2012 17:48:15 GMT Expires -1 Pragma no-cache Server ASP.NET Development Server/10.0.0.0 X-AspNet-Version 4.0.30319
请求头:
Accept */* Accept-Encoding gzip,deflate Accept-Language en-us,en;q=0.5 Cache-Control no-cache Connection keep-alive Content-Length 380 Content-Type application/x-www-form-urlencoded; charset=UTF-8 Cookie .ASPXAUTH=1FF35BD017B199BE629A2408B2A3DFCD4625F9E75D0C58BBD0D128D18FFDB8DA3CDCB484C80176A74C79BB001A20201C6FB9B566FEE09B1CF1D8EA128A67FCA6ABCE53BB7D80B634A407F9CE2BE436BDE3DCDC2C3E33AAA2B4670A0F04DAD13A57A7ABF600FA80C417B67C53BE3F4D0EACE5EB125BD832037E392D4ED4242CF6 DNT 1 Host localhost:39019 Pragma no-cache Referer http://localhost:39019/Report/TripLeader User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20100101 Firefox/15.0 X-Requested-With XMLHttpRequest
— update —