我在cshtml视图中有一个WebGrid,我正在使用ajaxUpdateContainerId参数使用AJAX对其进行分页/排序。但是,每次我点击链接来分页/排序WebGrid时,href都在变化,查询字符串会添加一个“__swhg”参数。
Please refer the attached image
每次点击sort / pager时,查询字符串都会像这样继续增长,“_ _ _ sgwhg”参数会不断增长,因为WebGrid中的“href”属性会将其添加到简单的“?sort = & amp; ; sortdir = “或”?page = “。!
答案 0 :(得分:3)
此参数表示唯一的时间戳,并且会故意添加到每个网址。由于AJAX请求正在使用GET动词,因此浏览器可能会缓存这些请求。这意味着当用户单击链接时,可能永远无法访问您的服务器。该参数确保不会缓存响应,因为每次获得唯一的URL。目前这在WebGrid中是硬编码的,没有办法禁用它。
当然,如果由于某种原因你想要用脚射击并删除这个参数,一种可能性是订阅自定义的AJAX回调:
var grid = new WebGrid(
Model,
ajaxUpdateContainerId: "grid",
ajaxUpdateCallback: "callback"
);
您可以替换所有链接并删除__swhg
参数:
function callback() {
$('a[data-swhglnk="true"]').attr('href', function () {
return this.href.replace(/&__swhg=[0-9]{13}/, '');
});
}