0
将日期提交给控制器时出现问题。获取最小日期提交给控制器时
日期以JSON格式发送日期格式(ex: /Date(1456592400000)/)
。然后使用Knockout自定义绑定和momentjs,将日期转换为'DD/MM/YYYY'
格式。
日期选择器正确显示日期为'28/02/2016'
,但是当我将它发送回控制器时,日期值为'01/01/0001 0:00:00'
,导致模型无效。
提交之前,我检查了控制台,日期是"2016-02-27T17:00:00.000Z"
。但是如果我不使用Knockout自定义绑定,只使用值绑定,它就可以工作。
我尝试修改模型绑定格式化日期,在此post描述,但它仍然无法正常工作。
public class DateTimeBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
bindingContext.ModelState.SetModelValue(bindingContext.ModelName, value);
return value.ConvertTo(typeof(DateTime), CultureInfo.CurrentCulture);
}
}
我已经设置了文化身份的ID在web.config
<globalization uiCulture="id-ID" culture="id-ID" />
我该如何解决这个问题? 以下是jsfiddle来描述问题。
你需要时间,以及在控制器结束了吗?方法1)如果你需要日期部分只是做'分裂(“T”)'和发送日期部分。方式2)控制器,使其作为字符串后做一个条件toDateTime转换。干杯 –