gpt4 book ai didi

asp.net-mvc-3 - MVC WebGrid-如何以编程方式获取当前页面,排序列等

转载 作者:行者123 更新时间:2023-12-02 04:10:41 24 4
gpt4 key购买 nike

如何以编程方式(使用javascript)获取ASP.NET MVC WebGrid的当前页码,最后一个排序列和排序方向?

在调用$("#grid").load()方法之前是否可以更新参数?

最佳答案

唯一可能的解决方案是使用jQuery检索:
-第一列标题中的“href”属性以获取页码和
-来自“下一页号”的“href”属性,以获取排序列和排序方向。

function reloadGrid(form) {
var grid = form._grid ? form._grid.value : "grid";
var args = {};
updateQueryParams(args, grid + " th a");
args.sort = "";
args.sortdir = "";
updateQueryParams(args, grid + " tfoot a");
args.page = 1;

for (var i = 0; i < form.elements.length; i++) {
var el = form.elements[i];
if (el.type == "text" || el.type == "select" || (el.type == "radio" && el.checked))
args[el.name] = el.value;
else if (el.type == "checkbox")
args[el.name] = el.checked;
}

//get controller name
var s = $("#grid th a")[0].onclick.toString();
s = s.substring(s.indexOf("/"));
var controller = s.substring(0, s.indexOf("?"));

var queryString = "";
for (var key in args)
queryString += "&" + key + "=" + escape(args[key]);

var url = controller + "?" + queryString.substring(1);
$("#" + grid).load(url + " #" + grid);
}


function updateQueryParams(args, path) {
var links = $("#" + path);
if (links.length == 0)
return;

var s = links[0].onclick.toString();
s = s.substring(s.indexOf("?") + 1);
s = s.substring(0, s.indexOf(" #"));

var a = /\+/g; // Regex for replacing addition symbol with a space
var r = /([^&=]+)=?([^&]*)/g;
var d = function (s) { return decodeURIComponent(s.replace(a, " ")); };
var q = s;

while (e = r.exec(q))
args[d(e[1])] = d(e[2]);
}

关于asp.net-mvc-3 - MVC WebGrid-如何以编程方式获取当前页面,排序列等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5344668/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com