1

我有一个 ASP.NET MVC 解决方案,其页面由一个表组成,其中项目通过 ajax 请求一次加载 20 行。我在此表底部有一个链接,允许用户加载 20 下一行(在表末尾加载的行保留现有行)。

在此处输入图像描述

所以我有:

Index.cshtml:主页面

<table class="zebra-striped">

    <thead>
        <tr>
            <th>@UserResource.CompanyName</th>
            <th>@UserResource.City</th>
            <th>@UserResource.Street</th>
            <th width="70"></th>
        </tr>
    </thead>

    <tbody id="ListCompanies">
        @Html.Action("RowsList")
    </tbody>

</table>

@Ajax.ActionLink("Load more", "RowsList", new { page = 2 }, new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "ListCompanies", InsertionMode = InsertionMode.InsertAfter, OnComplete = "AjaxCompleted" })

RowsList.cshtml:局部视图

@model IEnumerable<Domain.Models.Company>

@foreach (var item in Model)
{
    <tr id="@item.CompanyID">
        <td>@item.CompanyName</td>
        <td>@item.City.CityName</td>
        <td>@item.Street</td>

        <td nowrap>                                    
            @Html.ActionLink("Edit", ...) 
            @Html.ActionLink("Delete", "Delete", ...)
        </td>
    </tr>
}

问题:用于加载下一页的链接具有这样的静态 href:

http://localhost/Admin/Company/RowsList?page=2

每次点击链接时,我需要:

  • 加载 20 个下一个项目(没关系)
  • 下次更新此链接加载下一页系列

由于以下原因,应该可以进行下一次加载:

http://localhost/Admin/Company/RowsList?page=3

http://localhost/Admin/Company/RowsList?page=4

http://localhost/Admin/Company/RowsList?page=5

...

此链接位于我的 index.cshtml 页面中,该页面未更新(因为仅重新加载了部分视图 RowsList)。

知道如何继续正确更新此链接吗?也许我不得不重构我的代码以获得更简单的“MVC”解决方案?

谢谢!

4

1 回答 1

0

为包含 aPageNumberCompanyProperties 的视图创建一个 ViewModel,并将页码与数据一起传递

或者,如果您使用客户端脚本并通过 ajax 加载数据,则可以使用 jQuery

于 2012-04-11T13:21:33.847 回答