Проблема с обновлением пейджера

#c# #asp.net #refresh #pager

#c# #asp.net #обновить #пейджер

Вопрос:

У меня есть listview и привязка его к элементам, извлекаемым из базы данных. Я использовал пейджер для перехода на другую страницу. Но проблема в том, что предположим, что в данный момент я нахожусь на странице под номером 25 и обновил страницу, нажав клавишу F5 или нажав на кнопку обновления браузера, она перенаправит меня на страницу под номером 1. Я имею в виду первую страницу. Но я хочу, чтобы после обновления также это было на текущей странице, я имею в виду на странице 25. Я не понимаю, почему это происходит.

Комментарии:

1. Находится ли ваш listview на панели обновления? Если это так, то это может быть просто загрузка первой страницы, потому что это все, что есть в истории браузера.

Ответ №1:

Лучше добавить строку запроса с текущим номером страницы. например, предположим, что ваша страница является.aspx и просто передайте строку запроса, подобную этой, a.aspx?pg=1. при загрузке страницы if(Request.QueryString["pg"]!=null) , а затем просто отобразите записи страницы 1. Предположим, если вы хотите отобразить на 25-й странице, тогда URL будет таким: a.aspx?pg=25 .Таким образом, если пользователь обновляет с помощью F5, он по-прежнему отображает те же данные.Если страница подверглась обратной отправке (из-за события нажатия кнопки или изменения индекса в выпадающем списке и т.д.), Она также отображает ту же запись из-за строки запроса. Вы также можете изменить номер страницы, перенаправив его на ту же страницу с другим значением в строке запроса, например: Response.Redirect("a.aspx?pg=26") .

Я думаю, это решит вашу проблему.

Ответ №2:

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