动态2d数组,语法错误JavaScript和Razor

时间:2013-08-06 13:48:45

标签: javascript asp.net-mvc-4 razor

我听说你不能在JavaScript中使用剃须刀,但我不确定这是否属实,因为它接受了我的代码的第一行但却抱怨其余部分。我的模型中有一个列表,我正在尝试在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');
            }
        }

1 个答案:

答案 0 :(得分:1)

Javascript无法运行C#代码。你的循环需要在Razor中。但在这种情况下你甚至不需要循环。

function CollectExt() {
    var stuff = '@string.Join(",", Model.PhoneDisplay.Select(p => p.dnorpattern))';
    var collection = stuff.split(",");
}