【发布时间】:2013-06-24 15:10:34
【问题描述】:
我很困惑为什么我的控制器没有从 jquery datepicker 接收 startDate 参数
我的想法是它与格式有关。
在这种情况下,我不能强制使用表单发布模型。
参数将作为 null 进入操作。
$.ajax({
url: '@Url.Action("myAction")',
type: 'GET',
cache: false,
data: { startDate: $('#startDate').val(), endDate: $('#endDate').val() },
success: function (result) {
$('#updateDiv').html(result);
}
});
控制器
public ActionResult myAction(DateTime? startDate, DateTime? endDate)
我也试过了;
startDate: $.datepicker.formatDate('dd/mm/yy', new Date())
【问题讨论】:
-
如果我输入
alert($('#endDate').val());,它会以dd/mm/yy格式显示今天的日期 -
这是格式问题,很难直接把一个DateTime传给服务器,最好用字符串接收,然后解析成datetime。
-
尝试在浏览器的开发者工具中跟踪您的 ajax 请求。在 Data 中查看日期是否真的被发送到客户端。
-
我试过了,但是作为一个 post 方法,它似乎被隐藏了。 musefan 和 @carlosB 解决方案是一个简单的解决方法。
-
问题是,.net 期望的确切格式字符串取决于服务器正在使用的区域设置,其中一种可能是“dd/MM/yyyy:Thh:mm :ss”。检查这一点的一种方法是跟踪 json 中收到的日期时间。
标签: jquery ajax asp.net-mvc asp.net-mvc-4 jquery-ui-datepicker