无法在模型列表中使用for循环

时间:2016-01-06 14:55:35

标签: javascript asp.net-mvc razor

在我看来,cshtml文件我有一个脚本部分。

此视图上有一个模型列表,我想在JavaScript function中遍历该模型列表中的项目,但我不能使用for循环来迭代列表。

它说“当前上下文中不存在名称i”。

如果我写@Html.Raw(Model[0].DataName);它工作正常,countModel正确。如何在for循环中使用它?

以下是代码:

 var countModel = @(Model.Count);

 for (var i = 0; i < countModel; i++) {
     var dt = @Html.Raw(Model[i].DataName);
     ...
 }

2 个答案:

答案 0 :(得分:2)

这是因为i是javascript中的变量,您尝试在C#中使用它。

您需要将Model转换为Javascript对象,然后对其进行迭代。

var model = @Html.Raw(Json.Encode(Model));

for (var i = 0; i < model.length; i++)
{
    var dt = model[i].DataName;

答案 1 :(得分:-1)

您应该能够利用Model.Count,而无需使用foreach循环将其分配给变量计数模型。应该看起来像这样。

@foreach (var item in Model.Count)
{
 //You Code Here
}