首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET MVC 列表頁顯示行號:LINQ Select 索引重投影最簡實現

     編輯:程式設計綜合問答

Controller 返回數據時直接投影行號,避免前端 JS 計算或 View 裡維護計數器。

Controller 代碼

public ActionResult Index() {
    var data = _repo.GetAll() // IQueryable/IEnumerable
        .Select((item, index) => new {
            RowNumber = index + 1,
            item.Id,
            item.Name,
            item.CreateTime
        })
        .ToList();
    return View(data);
}

View (Razor) 顯示

<table>
@foreach (var row in Model) {
    <tr>
        <td>@row.RowNumber</td>
        <td>@row.Name</td>
        <td>@row.CreateTime.ToString("yyyy-MM-dd")</td>
    </tr>
}
</table>

分頁場景

若使用分頁 (PageIndex, PageSize),行號計算:

RowNumber = (pageIndex - 1) * pageSize + index + 1;

或在 View 中用 `@( (Model.PageIndex-1)*Model.PageSize + i + 1 )` 計算。

優勢

  • 零前端邏輯,SEO 友好 (行號隨 HTML 輸出)。
  • 數據排序/過濾後行號自動連續,無需額外維護。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved