【发布时间】:2018-07-11 20:17:52
【问题描述】:
我需要使用多列过滤和分页制作自定义数据网格视图。所以我做了一个视图模型绞盘将封装三个类
- IEnumerable 来自数据。
- 具有某些属性的过滤器类
- 页面大小、当前页面、总页面等..
过滤工作正常但分页不能:(。当我按下分页链接时松开视图模型“看来我还需要提交搜索表单” 任何人都可以展示我在按下链接时如何提交表单。 这是我的看法
@model TestFilteringAndPagination.ViewModels.CarViewModel
@{
ViewBag.Title = "Home Page";
}
@*Search form*@
@using (Html.BeginForm("Index", "Home", FormMethod.Post, new { id = "frm" }))
{
@Html.HiddenFor(m => Model.Pager.CurrentPage)
@Html.HiddenFor(m => Model.Pager.PageSize)
@Html.HiddenFor(m => Model.Pager.EndPage)
@Html.HiddenFor(m => m.Pager.StartPage)
<div class="form-inline">
<div class="form-group">
<label>Car No</label>
@Html.EditorFor(x => x.Filter.CarNumber, new { @class = "form-control" })
</div>
<div class="form-group">
<label>Line name</label>
@Html.EditorFor(x => x.Filter.LineName, new { @class = "form-control" })
</div>
<button type="submit" class="btn btn-default">Search</button>
</div>
<ul class="pagination">
@for (var page = Model.Pager.StartPage; page <= Model.Pager.EndPage; page++)
{
<li class="@(page == Model.Pager.CurrentPage ? "active" : "")">
<a href="#">@page</a>
</li>
}
</ul>
}
@*Data grid*@
<table class="table">
<thead>
<tr>
<th>
Car number
</th>
<th>
Car Line
</th>
</tr>
</thead>
<tbody>
@foreach (var car in Model.Cars)
{
<tr>
<td>
@Html.DisplayFor(x => car.CarNumber)
</td>
<td>
@Html.DisplayFor(x => car.LineName)
</td>
</tr>
}
</tbody>
</table>
【问题讨论】:
-
解决方案的一个想法:stackoverflow.com/questions/22294302/…