变量在当前上下文中不存在
本文关键字:不存在 上下文 变量 | 更新日期: 2023-09-27 18:02:20
我试图运行一个while循环,不断通过一个列表,直到条目为空。我的代码看起来像这样:
int i = 0;
while(list[i] != null)
{
<dl class="dl-horizontal">
<dt>
list[i].Name
</dt>
<dd>
list[i].Damage
</dd>
</dl>
i++;
}
我得到的错误是i
不存在于while循环的上下文中。我不能在循环中定义它因为它会在每次通过时重置为0但我不确定还能做什么
尝试在页面顶部的代码块中声明变量:
@{
int i = 0;
}
:
@while(list[i] != null)
{
<dl class="dl-horizontal">
<dt>
@list[i].Name
</dt>
<dd>
@list[i].Damage
</dd>
</dl>
i++;
}
当你在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#上下文中并计算表达式。