考虑在ASP.Net MVC5项目中的JavaScript文件中以下虚拟代码。
以下是控制器的ActionMethod,请求到达的地方...
保持日期为可空是必须的,因为它是可选选择。
问题:在.NET Framework的Culture设置中,日期格式为“DD/MM/YYYY”。我们发送“02/10/2016”时,它会被接受为“2016年2月10日”(这是错误的),但当我们发送“16/10/2016”时,它会读取为空。这仅在传递jqGrid Reload操作中的日期时发生。而在正常的ajax调用中,一切正常,例如“02/10/2016” =>“2016年10月2日”,和“16/10/2016” =>“2016年10月16日”。
有人可以帮忙吗?
var $grid = $("#grid")
var postData = $grid.jqGrid("getGridParam", "postData");
postData["xyzId"] = $("#xyzId").val();
postData["date"] = $("#date").val();
$grid.setGridParam({ postData: postData });
$grid.setGridParam({ datatype: "json", page: 1 }).trigger("reloadGrid");
以下是控制器的ActionMethod,请求到达的地方...
public ActionResult GetXyz(int xyzId, DateTime? date)
保持日期为可空是必须的,因为它是可选选择。
问题:在.NET Framework的Culture设置中,日期格式为“DD/MM/YYYY”。我们发送“02/10/2016”时,它会被接受为“2016年2月10日”(这是错误的),但当我们发送“16/10/2016”时,它会读取为空。这仅在传递jqGrid Reload操作中的日期时发生。而在正常的ajax调用中,一切正常,例如“02/10/2016” =>“2016年10月2日”,和“16/10/2016” =>“2016年10月16日”。
有人可以帮忙吗?
Newtonsoft.Json
? - Oleg$("#date").val()
转换为YYYY-MM-DD
格式并分配给postData.xyzId
之前,您是否尝试过?我认为 MVC 5 中使用的 Newtonsoft.Json 的默认 ISO 日期格式。 - Oleg