使用AJAX对PagedList进行客户端更新
我有一个MVC应用程序,它使用PagedList进行分页。第一列是一个复选框。如果用户选择一行,我希望该行在整个分页过程中保持不变(即:用户选择第1页上的第1行,然后转到第5页,然后返回第1页,我希望第1行仍被选中)。我似乎不知道如何在此基础上使用Ajax来实现解决方案。有什么想法吗使用AJAX对PagedList进行客户端更新,ajax,asp.net-mvc,jquery,razor,pagedlist,Ajax,Asp.net Mvc,Jquery,Razor,Pagedlist,我有一个MVC应用程序,它使用PagedList进行分页。第一列是一个复选框。如果用户选择一行,我希望该行在整个分页过程中保持不变(即:用户选择第1页上的第1行,然后转到第5页,然后返回第1页,我希望第1行仍被选中)。我似乎不知道如何在此基础上使用Ajax来实现解决方案。有什么想法吗 @foreach (var appUser in Model) { <div class="row" style="border-bottom: 1px dotted black; font-size
@foreach (var appUser in Model)
{
<div class="row" style="border-bottom: 1px dotted black; font-size: 12px;">
<div class="one column alpha">
@Html.CheckBox("chkUser" + @appUser.appUserId)
</div>
<div class="two columns alpha">
<img src="@appUser.appUserProfileImage" alt="@appUser.appUserHandle" />
</div>
<div class="two columns omega">
@appUser.appUserHandle
</div>
<div class="four columns omega">
@appUser.appUserStatus
</div>
<div class="three columns omega" style="text-align: right;">
<input type="button" value="Mail @appUser.appUserHandle" id="btnMail" onclick="location.href='@Url.Action("MailUser", "Settings")';return false;" />
</div>
</div>
}
<br />
<div class="row">
Page @(Model.PageCount < Model.PageNumber ? 0 : Model.PageNumber) of @Model.PageCount
</div>
<div class="row">
@Html.PagedListPager(Model, page => Url.Action("AppUsers", "Settings",
new { p = page, id = ViewBag.Id, sortOrder = ViewBag.CurrentSort, currentFilter = ViewBag.CurrentFilter }))
</div>
@foreach(模型中的var-appUser)
{
@复选框(“chkUser”+@appUser.appUserId)
@appUser.appUserHandle
@appUser.appUserStatus
}
@Model.PageCount的@页(Model.PageCountUrl.Action(“应用用户”,“设置”,
新的{p=page,id=ViewBag.id,sortOrder=ViewBag.CurrentSort,currentFilter=ViewBag.currentFilter})
我想用一个隐藏的文件来保存所选项目的ID列表。
隐藏列表应该位于保存分页列表的容器之外(以避免覆盖它)
因此,一旦完成了项目选择,并在提交表单时,就可以从隐藏列表中获取所选项目
关于在我返回该页面时保持项目处于选中状态的要求,您应该检查表中的ID,并与隐藏页面中的已检查ID进行比较。如果找到它,请选中相应的复选框。这是通过jQuery完成的
另一个选项是,在每次页面更改中,您提交当前选定的用户,并签入Razor代码(也称为服务器端)。我认为jQuery更好。您的要求是让它可视化,或者只需单击某个东西,它就会发送所有选定的ID或类似的东西?