Передать параметры в контроллер из JavaScript - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть кнопка на моей странице, и при нажатии у меня есть функция JavaScript, которая выглядит так:

   function PrintPdf() {
    var caseSearch = new Object();
    caseSearch.CustId = $('#CustId').val();
    caseSearch.CustName = $('#CustName').val();
    caseSearch.CustAddress = $('#CustAddress').val();
    caseSearch.CustPhone = $('#CustPhone').val();
    caseSearch.CustMobile = $('#CustMobile').val();
    caseSearch.SubTypeId = $('#CaseTypesDropDown').val();
    caseSearch.CaseStatusId = $('#CaseStatusDropDown').val();
    caseSearch.CreatorId = $('#slcOperId').val();
    caseSearch.TechnicianId = $('#slcTechId').val();
    caseSearch.CallDateFrom = $("#callDatefrom").val();
    caseSearch.CallDateTo = $("#callDateto").val();
    caseSearch.VisitDateFrom = $("#visitDatefrom").val();
    caseSearch.VisitDateTo = $("#visitDateto").val();
    caseSearch.RowsCount = $("#CaseRowsDropDown").val();
var url =  "/Home/PrintPdf?CustId=" + caseSearch.CustId + "&CustName=" + caseSearch.CustName + "&CustAddress=" + caseSearch.CustAddress +
        "&CustPhone=" + caseSearch.CustPhone + "&CustMobile=" + caseSearch.CustMobile + "&SubTypeId=" + caseSearch.SubTypeId + "&CaseStatusId=" + caseSearch.CaseStatusId +
        "&CreatorId=" + caseSearch.CreatorId + "&TechnicianId=" + caseSearch.TechnicianId + "&CallDateFrom=" + caseSearch.CallDateFrom + "&CallDateTo=" + caseSearch.CallDateTo +
        "&VisitDateFrom=" + caseSearch.VisitDateFrom + "&VisitDateTo=" + caseSearch.VisitDateTo;

    window.open(url,'_blank');
}

Все параметры работают отлично, за исключением значений даты. Javascript отправляет правильные значения. вот URL: http://localhost:X/Home/PrintPdf?CustId=&CustName=&CustAddress=&CustPhone=&CustMobile=&SubTypeId=0&CaseStatusId=0&CreatorId=0&TechnicianId=117&CallDateFrom=09/11/2018&CallDateTo=14/11/2018&VisitDateFrom=&VisitDateTo=

Но в моем методе PrintPdf я получаю разные значения даты. Здесь

1 Ответ

0 голосов
/ 14 ноября 2018

Я бы посоветовал отправлять даты в секундах с 1 января 1970 года (EPOCH). Примерно так:

var caseSearch.CallDateFrom =
  Math.round(Date.parse($("#callDatefrom").val()) / 1000);

, а затем преобразовать его обратно в объект Date [или аналогичный] на принимающей стороне.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...