как получить текущую страницу после обновления веб-страницы в asp.net? - PullRequest
0 голосов
/ 09 ноября 2010

У меня есть 40 записей в базе данных, но я отображаю 10 записей на каждой странице в сетке магазина с помощью панели сетки.

Точно так же я использую Ajax для событий. Проблема в том, что когда я обновляю страницу или сетку, она показывает первую запись на первой странице. Как я могу получить данные текущей страницы при обновлении данных?

Как мне избежать этой проблемы, кто-нибудь может мне помочь?

Ответы [ 2 ]

0 голосов
/ 09 ноября 2010

Если вы перезагрузите страницу (например, с помощью клавиши F5), сервер получит новый запрос, и контекст предыдущего запроса будет потерян, поэтому представление сетки снова отобразит свою первую страницу.

Однако, если вы отправляете сообщение только на сервер (например, нажав кнопку, отправляющую страницу), и ViewState включен для вида сетки, он должен сохранить свою текущую страницу.

Если вы абсолютно хотите сохранить текущую страницу при перезагрузке страницы (и не только после обратной передачи), вам нужно где-то сохранить текущий индекс страницы, например, в состоянии сеанса пользователя :

Session["CurrentGridViewPage"] = yourGridView.PageIndex;

И восстановить это при загрузке страницы:

if (Session["CurrentGridViewPage"] != null) {
    yourGridView.PageIndex = (int) Session["CurrentGridViewPage"];
}

РЕДАКТИРОВАТЬ: Если вам нужно сохранить индекс страницы для нескольких страниц на вашем сайте, вам необходимо включить в ключ сеанса некоторыетокен, однозначно идентифицирующий страницу, например Request.AppRelativeCurrentExecutionFilePath :

protected string PageIndexSessionKey
{
    get {
        return Request.AppRelativeCurrentExecutionFilePath + "$pgIndex";
    }
}

// Save.
Session[PageIndexSessionKey] = yourGridView.PageIndex;

// Restore.
if (Session[PageIndexSessionKey] != null) {
    yourGridView.PageIndex = (int) Session[PageIndexSessionKey];
}
0 голосов
/ 09 ноября 2010

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

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