VS无法识别变量

时间:2013-11-24 14:17:58

标签: c# asp.net-mvc asp.net-mvc-4 visual-studio-2012

我在视图中有这段代码

@model IEnumerable<P.Models.A>
@{
    ViewBag.Title = "Images";
}

<h2>Images</h2>
@int i = 0;
<table> 
@foreach (var item in Model)
{
    if(i % 3 == 0){

    }
}
</table>

VS告诉我i doesnot exist in the current context

请问我做错了什么?

我尝试在@之前添加i,但仍然遇到同样的错误。

1 个答案:

答案 0 :(得分:3)

尝试像这样定义变量:

@{int i = 0;}

同样在foreach循环体内,您可能希望修改/递增此变量的值。

哦,您可以考虑使用for循环代替:

<h2>Images</h2>
<table> 
    @for (var i = 0; i < Model.Count; i++)
    {
        if (i % 3 == 0) 
        {

        }
    }
</table>

但当然最好的方法是定义一个视图模型,而不是在视图中编写这样的循环。