Значения даты в URL повреждены для запроса GET MVC - PullRequest
1 голос
/ 10 июля 2011

Я использую следующий код для отправки запроса на получение моего контроллера при обнаружении изменения на стороне клиента в Telerik MVC DatePicker.

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)

Я создаю URL с помощью d / m / yзначения 2011/7/10, но значения 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.

1 Ответ

2 голосов
/ 10 июля 2011

getYear () возвращает количество лет с 1900 года. Вместо этого используйте getFullYear () .

getMonth () основано на нулепоэтому январь = 0, февраль = 1

getDay () возвращает целочисленное представление дня недели, начинающееся с нуля, например, воскресенье = 0, понедельник = 1. Вы хотите использовать getDate () , который возвращает дату месяца

var d = new Date();
alert(d.getYear() + '-' + d.getMonth() + '-' + d.getDay());
alert(d.getFullYear() + '-' + (d.getMonth() + 1) + '-' + d.getDate());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...