使用ASP.NET WebGrid分页和排序时,通过将特定查询字符串附加到包含页码,排序方向等名称和值的URL来工作。 但是,当使用ajaxUpdateId属性能够异步更新WebGrid时, 单击页脚中的页面或单击标题以对列进行排序时,它可以正常工作,但查询字符串不再附加到URL,刷新浏览器页面后不会持久分页和排序。 有没有办法在通过ajax更新WebGrid时保持排序和分页值? 非常感谢您提出任何有用的建议
答案 0 :(得分:0)
我想我找到了解决方案。也许它并不完美,但它确实有效。我花了很多时间试图弄清楚WebGrid在通过ajax更新时是如何工作的,但是所有这些功能都是隐藏的。 因此,如果您需要在刷新页面时继续进行排序和分页,则每次更改页面或排序时都必须更新URL。 WebGrid通过url中的查询字符串记住它。 所以我向WebGrid中的所有链接添加了一个jquery click事件,并使用history.pushState函数保存单击的url,然后刷新页面(你需要这样做,因为它只能用于一次更改,因为ajax不会更改url )
<script type="text/javascript">
$("#gridContainderID a").click(function () {
history.pushState(null, null, this.href);
location.reload();
});
</script>
答案 1 :(得分:0)
我已经能够使用此代码执行此操作: (注意返回false!)
$('#gridContent tfoot a[href]').click(function () {
history.replaceState({}, null, this.href);
return false;
});