gpt4 book ai didi

javascript - 对于在 javascript 和 html 中无法正常工作

转载 作者:行者123 更新时间:2023-11-28 18:38:55 25 4
gpt4 key购买 nike

我正在开发 asp.net MVC,但我遇到了一个我真的不明白的奇怪问题...

在我的 cshtml 的开头,我创建了一个像这样的 int :

@
{
int i = 0;
}

然后在我的代码中,我在 JavaScript 部分中使用此变量来创建具有可变列数的 Google 图表,我这样做:

for(var j=0; j<@ViewBag.nbTechs;j++)
{
data.addColumn('number', '@ViewBag.techs[i]');
@if (i != 1000)
{
i = i+1;
}
}
@ViewBag.nbTechs  is equal 9

@ViewBag.techs is a list of strings that contains 9 strings

此代码创建了一个包含 9 列的图表,但仅包含 @ViewBag.techs 变量中第一个字符串的名称...

我已经检查了变量 i 是否已正确更新,是的,确实如此...所以我真的不明白为什么它只采用名字...

希望有人能帮助我并提前谢谢

编辑:输出(列表中的第一个字符串)

enter image description here

最佳答案

'@ViewBag.techs[i]' 是 razor 代码,在发送到 View 之前在服务器上进行解析,因此计算结果为 '@ViewBag.techs[0] '(查看源代码以确认),这样您只能获得列表中的第一个值。

删除您的@{ int i = 0; } 代码,并将集合转换为 JavaScript 数组

var techlist = @Html.Raw(Json.Encode(ViewBag.techs))
for(var j = 0; j < @ViewBag.nbTechs; j++)
{
data.addColumn('number', techlist[j]);
}

关于javascript - 对于在 javascript 和 html 中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36471779/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com