2011-09-29 33 views
3

有人可能會指出如何在從Razor頁面視圖中的表格填充時包含序列號剃刀中的序列號(記錄數)?

這是我的看法

@foreach (var item in Model) { 
    <tr> 
     <td> 
      ---- ??? HOW TO INCLUDE SERIAL NUMBER HERE ??? ---- 
     </td> 
     <td> 
      @Html.DisplayFor(modelItem => item.studentName) 
     </td> 
     <td> 
      @Html.ActionLink("Edit", "Edit", new { id = item.studentID }) | 
      @Html.ActionLink("Details", "Details", new { id = item.studentID }) | 
      @Html.ActionLink("Delete", "Delete", new { id = item.studentID }) 
     </td> 
    </tr> 

}

(IM使用EF 4.1腳手架自動生成的環境和模型)

+0

你有你的數據庫列持有串行數? – tugberk

回答

7
@item.Serial 

如果你不想表現出來在一個html控件中。你不需要做任何特別的事情。

編輯:看來你只是想要一個計數器 變化的循環在代碼

@foreach (var item in Model.Select((x, i) => new { Data = x, Index = i })) 
{ 
<tr> 
    <td> 
     @item.Index 
    </td> 
    <td> 
     @Html.DisplayFor(modelItem => item.Data.studentName) 
    </td> 
    <td> 
     @Html.ActionLink("Edit", "Edit", new { id = item.Data.studentID }) | 
     @Html.ActionLink("Details", "Details", new { id = item.Data.studentID }) | 
     @Html.ActionLink("Delete", "Delete", new { id = item.Data.studentID }) 
    </td> 
</tr> 

}

+0

CS0103:名稱'modelItem'在當前上下文中不存在 –

+0

列「串行」不存在於數據表中,我需要附加類似1,2,3,4 ...(行數)的內容。 –

+0

將第一行更改爲 - @foreach(Model.Select((x,i)=> new {Data = x,Index = i + 1}中的var項)) - 從一個開始計數器 –

1
@foreach (var item in Model) 
{ 
    <tr> 
      <td> @(((Int32) 1) + @Model.IndexOf(item)) </td> 
    </tr> 
} 
0
<tbody> 
    @{ 
     int sno = 0; 
    } 
    @foreach (var item in Model) 
    { 
     <tr> 
      <td> 
       @{ sno++; } 
       @sno 
      </td> 
     </tr> 
    } 
</tbody>