Используя MVC3 Webgrid, как мне сохранить сетку в сеансе, чтобы я мог вернуться на страницу, на которой я был раньше?

Извините, если название немного сбивает с толку, но в основном мои вопросы таковы.

Я на странице A, страница A содержит поиск, который фильтрует данные в Webgrid. Веб-сетка имеет десять строк на странице. Я что-то искал в фильтре, и теперь веб-сетка вернула 27 строк данных, так как их 27, и теперь в моей сетке отображаются три страницы.

Теперь наступает момент, когда мне нужна помощь, на данный момент я нажимаю ссылку в веб-сетке и перемещаюсь со страницы на страницу B, на этом этапе модель страницы сохраняется в сеансе, поэтому, когда я возвращаюсь назад на страницу A с помощью ссылки, веб-сетка по-прежнему отображает те же 27 строк, которые были у меня при первоначальном поиске. Однако, если я был на странице 3 сетки раньше на странице A, когда я вернулся на страницу A со страницы B, я автоматически вернулся на страницу 1.

Как сохранить номер страницы в сетке и ввести его в качестве аргумента, чтобы, когда я вернусь на страницу A со страницы B, я перешел на страницу 3, а не снова на страницу 1.

Заранее спасибо,


person Joe Harper    schedule 17.03.2014    source источник


Ответы (1)


Да, до тех пор, пока веб-сетка отправляет обратно контроллеру каждый раз, когда он страницы, вы можете фиксировать текущий номер страницы в сеансе, а затем, когда вы вернетесь, вы можете перезагрузить туда, куда вам нужно. Добавьте это в свою модель:

public int PageNumber { get; set; }

В вашем контроллере установите для параметра PageNumber значение 1 по умолчанию или значение, сохраненное в сеансе при сохранении. Это значение передается в представление, которое затем можно передать в сетку, для отображения которой требуется номер страницы.

person Brian Mains    schedule 17.03.2014
comment
Что ж, в настоящее время у меня есть контроллер, и он генерирует модель, которая передается в представление. Есть ли способ просто передать аргумент числа (или переменной) в мою сетку, чтобы она открывала эту конкретную страницу в сетке? - person Joe Harper; 18.03.2014
comment
Да, вы можете передать номер страницы через модель, а затем передать его в сетку, которая должна принимать номер страницы. - person Brian Mains; 18.03.2014
comment
Но как мне ввести номер страницы в качестве аргумента в сетку? - person Joe Harper; 18.03.2014
comment
Через свойство PageIndex: msdn.microsoft.com/en-us/library/ - person Brian Mains; 19.03.2014