我正在使用GridMvc来显示数据库中的数据。 GridMvc提供了非常有用的过滤器和排序网格。但现在我遇到了一个问题:我想使用JQuery获取id属性列表并将此列表传递给后端。但Grid的每页有30条记录。所以我只能从第1页获得30个ID的列表。这是分页网格:
我想要做的是获取所有href值(例如,从页面div获取XX的列表)。当用户触发导出按钮时,我定义了一个JS Export函数:
$('#Export').click(function () {
//Todo: Select all data from front end. Send a list to backend.
var Items = new Array();
var hrefs = new Array();
$('.pagination li').each(function () {
hrefs.push($(this).find('a').attr('href'));
});
var i = 0;
//var items = DeleteItems();
while (i < hrefs.length) {
//redirected to different pages
document.location.href = '/GridView' + hrefs[i];
//Save data
$('#PCA-grid table').find('.grid-row').each(function (index, item) {
//Find target items
var id;
var $checkbox = $(this).find('.DeleteSelected:first');
//Set a for loop here to
if (!$checkbox.is(':checked')) {
id = Number($checkbox.attr('id'));
if (id != NaN) {
Items.push(id);
}
}
});
i++;
}
//Sent list of ids to backend. Using URL redirect
window.location.replace('/GridView/Export?items=' + Items);
});
上面的代码中描述了基本思想。我想要做的是从页面标记获取网址。在while循环中,尝试重定向到目标页面,然后将此页面中的id属性推送到Items Array。但是当我使用Chrome工具首次亮相时,while循环无法按预期工作。没有重定向发生。
这个问题我错了吗? 我只想从当前网格中的所有页面获取id属性,然后将此Items Array传递给后端。所以有人帮助我吗?
答案 0 :(得分:0)
据我所知,很难获得需要通过网格分页下载的所有id属性。我所做的是将页面重定向到另一个视图。在该视图中,我隐藏了相同的网格而没有分页。并且发送的ID需要从网格下载到后端,然后为客户端用户生成文件。
不确定这种方式是否是最佳做法。但我用这种方法解决了这个问题。