只有一个数据源刷新的ASP.NET MVC分页表?

时间:2017-05-05 12:44:33

标签: c# asp.net asp.net-mvc twitter-bootstrap

如果你这样做,那么Paging方法一切正常。我的问题是我不想每次都获得数据集。我只想做一次。我怎样才能做到这一点? 表:

@model PagedList.IPagedList<ViewModel.QuestionViewModel>
@using PagedList.Mvc; 
<table class="table">
<tr class="table-head">
    <th>
        <p>Sender</p>
    </th>
    <th>
        <p>Subject</p>
    </th>
    <th>
        <p>Received</p>
    </th>
    <th>
        <p>HasAttachment</p>
    </th>
    <th></th>
</tr>

@foreach (var item in Model.Inbox) {
<tr class="mail-row" onclick="location.href = '@Url.Action("Index", "MailContent", new { id = item.Id })'">
    <td>
        @Html.DisplayFor(modelItem => item.From)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Subject)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.Received)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.HasAttachments)
    </td>
    <td>
        @Html.DisplayFor(modelItem => item.AssetClass)
    </td>
    <td>
       @Html.DisplayFor(modelItem => item.InProgressBy)
    </td>
    @*<td>
        @html.actionlink("edit", "edit", new { /* id=item.primarykey */ }) |
        @html.actionlink("details", "details", new { /* id=item.primarykey */ }) |
        @html.actionlink("delete", "delete", new { /* id=item.primarykey */ })
    </td>*@
</tr>
} 
</table>
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of    @Model.PageCount
@Html.PagedListPager( Model, page => Url.Action("MailList", new { page }) )

所以这是表格,但每次我点击下一个按钮,它都会返回控制器,再次获取所有邮件。由于数据集较大,每次都无法加载它。

控制器: MailboxController

 public ActionResult MailList(string id, int? page) {
            //TODO: get list
            //get Maillist for mailbox

            context = new InboxToolContext();
            context.Mails.MailboxType = id;
            Console.Write(i);
            i = 2;
            int pageSize = 20;
            int pageNumber = (page ?? 1);

            return View(context.Mails.All().ToPagedList(pageNumber,pageSize));
        }

0 个答案:

没有答案