我正在从 Web API 读取数据并填充表单。当我将其提交回 Web API 时,我收到此错误:
{"Message":"发生错误。","ExceptionMessage":"类型 'MvcApplication1.Models.ProductSale' 上的属性 'StartDate' 无效。标记为 [Required] 的值类型的属性也必须用 [DataMember] 标记(IsRequired=true)] 被识别为必需。考虑使用 [DataContract] 和属性使用 [DataMember(IsRequired=true)] 来分配声明类型。","ExceptionType":"System.InvalidOperationException","StackTrace": " 在 System.Web.Http.Validation.Validators.ErrorModelValidator.Validate(ModelMetadata 元数据,对象容器)\r\n 在 System.Web.Http.Validation.DefaultBodyModelValidator.ShallowValidate(ModelMetadata 元数据,ValidationContext 验证上下文,对象容器)\r \n
在 System.Web.Http.Validation.DefaultBodyModelValidator.ValidateProperties(ModelMetadata metadata, ValidationContext validationContext)\r\n at System.Web.Http.Validation.DefaultBodyModelValidator.ValidateNodeAndChildren(ModelMetadata metadata, ValidationContext validationContext, Object container)\r\n
at System.Web.Http.ModelBinding.FormatterParameterBinding.<>c_ DisplayClass1.b _0(对象模型)\r\n 在 System.Threading.Tasks.TaskHelpersExtensions.<>c_ DisplayClass49.b _48()\r\n 在 System。 Threading.Tasks.TaskHelpers.RunSynchronously[TResult](Func`1 func, CancellationToken cancelToken)"} 1
我的日期以“2013-01-31T16:27:18.503”的形式出现在 Web API 中,并以“2013-01-31T05:00:00.000Z”的形式发回。我可以在发送到 Web API 之前拦截有效负载,并且可以使用http://momentjs.com之类的东西来解析它,但我该怎么办?这让我发疯!