我试图将两个数组(通过 View 模型传递)传递到一个由数组和数组值组成的数组中。 (最后还有一个问题)
示例:
[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 的格式为 DD/MM/YYYY,并且它正在进行除法,给出的值例如为 28 除以 03 除以 2019。
好吧,我也遇到了运行数组的问题,因为它说 i 在当前上下文中不存在。
for (var i = 0; i < @Model.Data.Count(); i++) {
var dato = [@Model.Data[i].ToString(),@Model.Labels[i].ToString()]
dataset.push(dato)
}
最佳答案
Razor 代码在页面发送到浏览器之前在服务器端执行。所以:
var dato = [@Model.Data[117].ToString(),@Model.Labels[117].ToString()]
实际上是:
var dato = [somevalue,28/03/2019]
这就是日期部分被分割的原因。您需要转义字符串。
第二期也有同样的问题。 @Model.Data[i].ToString()
将在服务器端进行评估,而不是在 JavaScript 运行时进行评估。
关于javascript - 如何阻止 Javascript 将日期转换为除法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55394212/