Как мне остановить Javascript от преобразования даты в раздел? - PullRequest
2 голосов
/ 28 марта 2019

Я пытаюсь передать два массива, которые я прохожу через модель представления, в массив, состоящий из массивов со значениями массивов.(в конце еще одна проблема)

Пример:

[1,2,3,4]
+
["Miguel", "Lucia", "Luis", "Charles"]
into 
[["1","Miguel"],["2","Lucia"],etc...

Вот мой код:

script>
    var dataset = [];
    for (var i = 0; i < @Model.Data.Count(); i++) {
        var dato = [@Model.Data[117].ToString(),@Model.Labels[117].ToString()]
        dataset.push(dato)
    }
    console.log(dataset)
</script>

Проблема в том, что @ Model.Labels имеет форматДД / ММ / ГГГГ, и это делает деление, давая значение, например, 28, деленное на 03, деленное на 2019.

Ну, и у меня также есть проблема работы с массивами, так как он говорит, что яне существует в текущем контексте.

for (var i = 0; i < @Model.Data.Count(); i++) {
        var dato = [@Model.Data[i].ToString(),@Model.Labels[i].ToString()]
        dataset.push(dato)
    }

1 Ответ

2 голосов
/ 28 марта 2019

Код Razor выполняется на стороне сервера перед отправкой страницы в браузер. Итак:

var dato = [@Model.Data[117].ToString(),@Model.Labels[117].ToString()]

На самом деле будет:

var dato = [somevalue,28/03/2019]

Именно поэтому части даты тогда делятся. Вам нужно будет избежать строки.

Та же проблема для вашего второго номера. @Model.Data[i].ToString() будет оцениваться на стороне сервера, а не при запуске JavaScript.

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