Искажение данных в JS функции (razorpage, asp.net core 3.0)

104
05 февраля 2022, 21:00

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

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"
Answer 1

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

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

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

GetDataTable('00803007', '0')
READ ALSO
Как принимать платежи с карт, без посредников и без организации юридического лица?

Как принимать платежи с карт, без посредников и без организации юридического лица?

Есть некий портал который не подходит модерацию для большинства платформ эквайринга(онлайн платежей)

77
Как сделать чтобы на iOS работал :active у элементов?

Как сделать чтобы на iOS работал :active у элементов?

Как сделать чтобы на мобилах (iOS, Safari) работал :active у элементов? Когда на компе кликаешь по элементу, становится :active на секунду, меняется цвет...

86
Отобразить при наведении скрытый текст

Отобразить при наведении скрытый текст

Подскажите, пожалуйста, имеется кодПо нажатию на кнопку копируется текст, как сделать, чтобы при наведении на кнопку показывался скрытый...

106