1

我听说你不能在 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');
            }
        }
4

1 回答 1

1

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

function CollectExt() {
    var stuff = '@string.Join(",", Model.PhoneDisplay.Select(p => p.dnorpattern))';
    var collection = stuff.split(",");
}
于 2013-08-06T14:07:17.960 回答