2014-03-07 22 views
9

I eine Variable außerhalb des foreach hinzugefügt werden soll, und ich möchte, dass die Variable innerhalb der foreach Schleife zuzugreifenDeklarieren Variable in Rasiermesser

<table class="generalTbl"> 
    <tr> 
     <th>Date</th> 
     <th>Location</th> 
    </tr> 
    @int i; 
    @foreach (var item in Model) 
    { 
     i=0; 
     <tr> 
      <td> 
       @Html.DisplayFor(modelItem => item.DueDate) 
      </td> 
      <td> 
       @Html.DisplayFor(modelItem => item.location) 
      </td> 
     </tr> 
    } 
</table> 

Das obige Beispiel I hinzugefügt @int i; außerhalb der foreach und ich versuchte, es innerhalb der foreach wie i = 0 zuzugreifen; Aber es zeigt "Der Name 'i' existiert nicht im aktuellen Kontext"

Wie kann ich auf die Variable innerhalb der Schleife zugreifen?

Antwort

18
<table class="generalTbl"> 
    <tr> 
     <th>Date</th> 
     <th>Location</th> 
    </tr> 
    @{ 
     int i = 0;//value you want to initialize it with 

     foreach (var item in Model) 
     { 
      <tr> 
       <td> 
        @Html.DisplayFor(modelItem => item.DueDate) 
       </td> 
       <td> 
        @Html.DisplayFor(modelItem => item.location) 
       </td> 
      </tr> 
     } 
    } 
</table> 
+0

gute Arbeit! mach weiter ... –

+0

danke ................... :) – Muctadir

4

Sie haben einen Codeblock zu verwenden:

@{ 
    int i; 
} 

Die Art und Weise Razor wird Ihre Aussage analysieren wie geschrieben @int durch eine wörtliche i gefolgt. Daher wird versucht, den Wert int auszugeben, gefolgt von dem Wort i.

2

Es ist im Allgemeinen vorzuziehen, Ihre Variablen oben in der Ansicht zu deklarieren. Sie können eine Variable wie folgt erstellen, vor dem @foreach:

@{ 
    int i = 0; 
} 
2

Verwenden Sie einen Code-Block:

Beispiel:

@{int i = 5;} 

dann die Variable in der Schleife aufrufen:

@foreach(var item in Model) 
{ 
    //i exists here 
}