在我的页面上更新ActionLink

时间:2012-04-11 13:10:09

标签: asp.net-mvc

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

enter image description here

所以我有:

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个下一个项目(没关系)
  • 更新此链接以便下次加载下一页serie

由于:

,下一次加载应该是可能的

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'解决方案?

谢谢!

1 个答案:

答案 0 :(得分:0)

为包含PageNumberCompany属性的视图制作ViewModel,并使用数据传递页码

如果您使用客户端脚本并通过ajax

加载数据,则可以使用jQuery