Как генерировать ссылки на страницы в mvc view (метод API уже возвращает постраничные результаты) - PullRequest
0 голосов
/ 01 июля 2019

Я совершенно новичок в MVC и Web API, поэтому извиняюсь, если этот вопрос не имеет смысла ...

Я использую метод поиска Web API, передавая переменные startIndex, _pageSize, который возвращает список записей размера страницы и totalCount записей (пример json ниже).На моей странице просмотра mvc есть таблица, в которой отображаются возвращаемые данные и общее количество.

{
    "errors": [],
    "result": {
        "fileCount": 30,
        "infoList": [
            {
                "fileId": "7dcaf6b2-d97b-4234-8a33-344484375f09",
                "integratingApplicationId": "6775bd47-00b5-4864-9f42-5b6ef9d69837",
                "applicationDescription": "SSIS letter",
                "createdDate": "2019-06-12T11:01:39.03",
            }
}
}

В моем представлении mvc я хотел бы добавить ссылки для страниц, чтобы пользователь мог перейти к следующейили предыдущую страницу (или номера страниц), просто интересно, как лучше это сделать?Мне нужно добавить логику разбиения на страницы в моем контроллере или я могу использовать JavaScript в представлении для генерации ссылок?

1 Ответ

0 голосов
/ 01 июля 2019

вы можете сделать и то и другое, проще всего просто построить свою нумерацию страниц, используя что-то вроде частичного представления, и заполнить его перед отправкой в ​​представление. В этой ситуации вам ничего не нужно делать на переднем конце.

В любом случае, это очень просто.

Подумайте об этом, что вам нужно для создания нумерации страниц? Вам нужно создать несколько ссылок, которые будут выглядеть примерно так:

blabla/morebla/data?indexPage=index где индекс - это любой номер страницы, который вы хотите отобразить. Вам нужно знать диапазон этого индекса, от 1 до любого значения.

У вас есть размер страницы, скажем, это 20. У вас есть данные, которые говорят вам, что у вас есть 30 записей. Поэтому вам понадобится 2 страницы для отображения данных, поэтому вы создадите гиперссылки с индексами 1 и 2. Вы можете легко придумать формулу, чтобы решить, сколько страниц вам нужно. Вы делите размер ваших записей (30) на размер страницы (20), и если мод этого больше нуля, то вы добавляете 1 к индексу страницы.

как то так:

int pageTotal = ( recordsCount / pageSize ) вы берете int этого результата (в вашем случае 1), и если модуль этой операции больше 0 (то есть), то вы добавляете 1 к числу страниц и, таким образом, получаете два. Вам нужна вторая страница для отображения последних 10 записей ваших данных.

Теперь осталось только построить ссылки в цикле foreach, поэтому в этом случае вы получите два, как вы уже вычислили pageTotal :

blabla/morebla/data?indexPage=1
blabla/morebla/data?indexPage=2

Тщательно, как вы отправляете индексы в API, ваш индекс 1 в пользовательском интерфейсе может фактически быть индексом 0 на стороне API, но вы хотите отобразить 1 в пользовательском интерфейсе просто с точки зрения удобства использования, так что вы можете иметь внести некоторые коррективы в ваш код, чтобы учесть это.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...