1

Существует метод контроллера:

public ActionResult Foo(string code, string status)
{
   ViewBag.Code = code;
   ViewBag.Status = status;
   return View();
}

Во View для Foo переменная code передается корректно, далее происходит вызов функции JS:

<script>
  $(function () 
    { 
          function GetDataTable(serviceCode, statusCode)
          {
              console.log(serviceCode); //тут значение искажено (и почему-то пропадают нули в строке слева)
          }
 GetDataTable(@ViewBag.Code, @ViewBag.Status); // на этом этапе значения корректны
 })
</script>

Вишенка во всем этом - то, что некоторые значения обрабатываются корректно, а некоторые нет, пример :

  • На входе во View - "00803007", в console.log() - "803007"
  • На входе во View - "00403010", в console.log() - "132616"
  • На входе во View - "02303010", в console.log() - "624136"
  • 1
    https://ru.stackoverflow.com/questions/822684/%D0%9A%D0%B0%D0%BA-%D1%83%D0%B1%D1%80%D0%B0%D1%82%D1%8C-%D0%BB%D0%B8%D1%88%D0%BD%D0%B8%D0%B5-%D0%BD%D1%83%D0%BB%D0%B8-js – Question1 Jan 06 '20 at 06:39

1 Answers1

2

Проблема заключалась в рендеринге значений. На готовой странице создавалась функция GetDataTable(00803007, 0), значения которой JS, видимо, воспринял как int. Решилось добавлением апострофов до рендеринга:

GetDataTable('@ViewBag.Code', '@ViewBag.Status');

Функция после рендеринга:

GetDataTable('00803007', '0')