我听说你不能在 JavaScript 中使用 razor,但我不确定这是否属实,因为它接受了我代码的第一行,但提示其余的代码。我的模型中有一个列表,我正在尝试获取 JavaScript 中一个元素的集合
function CollectExt() {
var numberOfLines = '@Model.NumberOfLines';
for (var i = 0; i < numberOfLines; i++) {
var extCollection = {(i+1): '@Model.PhoneDisplay[i].dnorpattern' };
}
}
我想声明一个数组并根据我拥有的行数填充它。
编辑 我刚刚尝试过这个,但它没有看到 for 循环内的“i”
function CollectExt() {
var numberOfLines = '@Model.NumberOfLines';
var collection = [];
for (var i = 0; i < numberOfLines; i++) {
numberOfLines.push('@Model.PhoneDisplay[i].dnorpattern');
}
}
最佳答案
Javascript 无法运行 C# 代码。您的循环需要位于 Razor 中。但在这种情况下,您甚至不需要循环。
function CollectExt() {
var stuff = '@string.Join(",", Model.PhoneDisplay.Select(p => p.dnorpattern))';
var collection = stuff.split(",");
}
关于javascript - 动态二维数组,JavaScript 和 Razor 语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18082077/