2016-10-03 94 views
1

我想在ASP.net MVC Razor視圖的Sr. No.列內的以下代碼的第一列顯示增量值。我正在做下面的事情,但它不工作。它顯示0 ++;只在該欄中。我在做什麼錯。在asp.net mvc剃刀視圖中增量

@{int i = 0;} 

<table class="table"> 
<tr> 
    <th>Sr No.</th> 
    <th> 
     @Html.DisplayNameFor(model => model.Name) 
    </th> 
    <th> 
     @Html.DisplayNameFor(model => model.ModifiedDate) 
    </th> 
    <th></th> 
</tr> 

@foreach (var item in Model) 
{ 
    <tr> 
     <td> 
      <span>@i++;</span> 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.Name) 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.ModifiedDate) 
     </td> 
     <td> 
      @Html.ActionLink("Edit", "Edit", new { id = item.CurrencyCode }) | 
      @Html.ActionLink("Details", "Details", new { id = item.CurrencyCode }) | 
      @Html.ActionLink("Delete", "Delete", new { id = item.CurrencyCode }) 
     </td> 
    </tr> 
} 
+0

我++ ;,取出@ – Sherlock

+2

' @(I ++)'(你需要周邊括號) –

+0

' @i 我++;' –

回答

2

在剃刀語法中,您應該爲C#邏輯statemens創建C#範圍。你可以嘗試下面的代碼;

<td> 
    <span>@(i++)</span> 
</td> 
1

這應該工作:

@{int i = 0;} 

    <table class="table"> 
    <tr> 
     <th>Sr No.</th> 
     <th> 
      @Html.DisplayNameFor(model => model.Name) 
     </th> 
     <th> 
      @Html.DisplayNameFor(model => model.ModifiedDate) 
     </th> 
     <th></th> 
    </tr> 

    @foreach (var item in Model) 
    { 
     <tr> 
      <td> 
       <span>@(++i)</span> 
      </td> 
      <td> 
       @Html.DisplayFor(modelItem => item.Name) 
      </td> 
      <td> 
       @Html.DisplayFor(modelItem => item.ModifiedDate) 
      </td> 
      <td> 
       @Html.ActionLink("Edit", "Edit", new { id = item.CurrencyCode }) | 
       @Html.ActionLink("Details", "Details", new { id = item.CurrencyCode }) | 
       @Html.ActionLink("Delete", "Delete", new { id = item.CurrencyCode }) 
      </td> 
     </tr> 
    } 
0

按@Stephen Muecke建議你可以使用:

<span>@(i++)</span> 

或者你可以用這樣的:

<span>@i</span> 
i++; 
+0

這個' @(i ++)'有效,但是這個' @i i ++;' 不是 –