リストのカスタム ページングを生成しようとしています。
私が欲しいもの -
-メソッド10
を使用したLINQクエリを介してデータベースから行のみを返すコントローラーがあります。Take()
-ビューが読み込まれると、10 行が表示されます。次に気になるのはページングです。
ページサイズが行に設定されている間10
、それを超える場合10
。データベースからnext
, 10 件のレコードのリスト ボタンを表示しようとしています。Previous
このようにマッピングしてみました -
コントローラ
public ViewResult _SeeAllLedger(LedgerModel user) {
List<LedgerModel> ledger = null;
if (ModelState.IsValid) {
ledger = (from u in db.LedgerTables
select new LedgerModel {
AccID = u.AccID,
AccountHead = u.AccountHead,
Place = u.Place,
SerialNo = Convert.ToInt32(u.SerialNumber)
}).ToList();
}
return View(ledger.Take(10)); //Returning 10 records
}
意見-
@foreach (var item in Model) {
<tr class="ladger-details">
<td>
@Html.DisplayFor(modelItem => item.AccID)
</td>
<td>
<a href="@Html.DisplayFor(modelItem => item.AccountHead)">@Html.DisplayFor(modelItem => item.AccountHead)</a>
</td>
<td>
@Html.DisplayFor(modelItem => item.Place)
</td>
</tr>
if (Model.Count > 10) {
<a class="btn btn-success">Next</a> //Trying to show custom button only if this state is true
}
}
期待どおりに機能しませんでした。LINQ クエリから行をマップする他の方法は何でしょうか?