我正在尝试运行一个while循环,它一直在列表中,直到条目为空。我的代码看起来像这样:
int i = 0;
while(list[i] != null)
{
<dl class="dl-horizontal">
<dt>
list[i].Name
</dt>
<dd>
list[i].Damage
</dd>
</dl>
i++;
}
我得到的错误是在while循环的上下文中不存在i
。我无法在循环内部定义它,因为它会在每次传递时重置为0但我不知道还能做什么。
答案 0 :(得分:2)
尝试在页面顶部的代码块中声明您的变量:
@{
int i = 0;
}
然后:
@while(list[i] != null)
{
<dl class="dl-horizontal">
<dt>
@list[i].Name
</dt>
<dd>
@list[i].Damage
</dd>
</dl>
i++;
}
答案 1 :(得分:0)
当您在Razor文件中插入HTML元素时,它会退出C#模式,因此您需要在变量调用中添加@
符号。
编辑:你还需要@
上的while
标志和声明声明:
@{ int i = 0; }
@while(list[i] != null)
{
<dl class="dl-horizontal">
<dt>
@list[i].Name
</dt>
<dd>
@list[i].Damage
</dd>
</dl>
i++;
}
这将使您回到C#上下文并评估表达式。