GridMvc получает атрибуты id с других страниц в выгружаемой сетке

Я использую GridMvc, чтобы показать данные из базы данных. GridMvc обеспечивает фильтрацию и сортировку сетки, что очень полезно. Но теперь я столкнулся с проблемой: я хочу использовать JQuery, чтобы получить список атрибутов id и передать этот список бэкэнду. Но таблица состоит из 30 записей на странице. Таким образом, я могу получить только список из 30 идентификаторов со страницы 1. Вот таблица с постраничной структурой:

То, что я хочу сделать, это получить все значения href (например, получить список XX из страницы div). И когда пользователь нажимает кнопку "Экспорт", я определяю функцию экспорта JS:

        $('#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);

    });

Основная мысль была описана в коде выше. Что я хочу сделать, это получить URL-адреса из тега страницы. В цикле while попытайтесь перенаправить на целевую страницу, а затем перенести атрибуты id на этой странице в массив Items. Но когда я дебютирую с помощью инструмента Chrome, цикл while работает не так, как ожидалось. Перенаправления не происходит.

Я не прав с этой проблемой? Я просто хочу получить атрибуты id со всех страниц в текущей сетке, а затем передать этот массив элементов в бэкэнд. Так кто-нибудь поможет мне?

1 ответ

Решение

Насколько я считал, трудно получить все атрибуты id, которые нужно было загрузить с разбивкой по страницам в сетке. Я перенаправил страницу в другое представление. В этом виде я спрятал ту же сетку без подкачки. И отправленные идентификаторы необходимо было загрузить из сетки в бэкэнд, а затем сгенерировать файл для пользователя клиента.

Не уверен, является ли этот способ лучшей практикой. Но я использовал этот метод, решил эту проблему.

Другие вопросы по тегам