当我检测到Telerik MVC DatePicker的客户端更改时,我使用以下代码向控制器发送get请求。
function RaceDate_onChange() {
var pickedDate = $(this).data('tDatePicker').value();
$.get("/RaceCard/Details?year=" + pickedDate.getYear() + "&month=" + pickedDate.getMonth() + "&day=" + pickedDate.getDay());
}
[HttpGet]
public ActionResult Details(int year, int month, int day)
我正在使用2011/7/10的d / m / y值构建URL,但是到达我的控制器动作的d / m / y值是111/6/0。如果我在控制器的断点处检查HttpContext.Request对象,我会观察到这些可疑值:
Url: {http://localhost:59927/RaceCard/Details?year=111&month=6&day=0}
UrlReferrer: {http://localhost:59927/RaceCard/Details?year=2011&month=7&day=10}
我认为这纯粹是一个JS问题,但我不知道从哪里开始,除非在SO上。
答案 0 :(得分:2)
getYear()返回自1900年以来的年数。请改用getFullYear()。
getMonth()基于零,因此1月= 0,2月= 1
getDay()返回星期几的基于零的整数表示,例如星期日= 0,星期一= 1.您想使用返回月份日期的getDate()
var d = new Date();
alert(d.getYear() + '-' + d.getMonth() + '-' + d.getDay());
alert(d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate());