在 Razor 的外循环中定义一个变量并在循环内使用它

Boh*_*ohn 4 asp.net-mvc razor

@{ int i = 0;}
@foreach (var providerInfo in Model.Results)
{
    <div class="row">
      i = i + 1;
Run Code Online (Sandbox Code Playgroud)

在 for-each 循环内,我想要一个计数器,所以我尝试在其外部定义我的变量,如上所示,但 Razor 没有得到它!执行此操作的正确语法是什么?

dot*_*tom 6

在您的情况下,语句i = i + 1;当前被解释为 HTML 的一部分。为了告诉 Razor 将其解释为 C# 代码,您可以使用以下内容包装增量代码@{ }:

@{ int i = 0;}
@foreach (var providerInfo in Model.Results)
{
    <div class="row">
      @{i = i + 1; }
}
Run Code Online (Sandbox Code Playgroud)