Кнопка «Назад» в браузере создает проблему

У меня есть динамически сгенерированный вид сетки на странице с сортировкой, предусмотренной также в коде. Теперь я перехожу со страницы А на страницу Б по ссылке, это тоже работает нормально. Но когда я нажимаю кнопку «Назад» в браузере и возвращаюсь на свою страницу А и снова пытаюсь отсортировать... страница А выдает исключение...

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

Спасибо

` Не удается найти столбец имя_машины. Описание: во время выполнения текущего веб-запроса возникло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.

 Exception Details: System.IndexOutOfRangeException: Cannot find column machinename.

Source Error:

Line 519:                
Line 520:                //Sort the data.
Line 521:                dt.DefaultView.Sort = e.SortExpression + " " +       GetSortDirection(e.SortExpression);
Line 522:                GridView1.DataSource = Session["TaskTable"];
Line 523:                GridView1.DataBind();`

person user175084    schedule 17.12.2009    source источник
comment
Можете ли вы сообщить нам, какой тип ошибки вы получаете? может быть, трассировка стека и какой-то код?   -  person user10635    schedule 17.12.2009
comment
Как правило, при нажатии кнопки «Назад» отображается кешированная копия страницы (поскольку браузер обычно кеширует). Выполнение сортировки должно работать, если вы сохраняете свои связанные данные в состоянии просмотра. Кроме того, вы можете использовать fiddler и проверить запрос до и после кнопки «Назад», чтобы убедиться, что они одинаковы.   -  person Mikael Svenson    schedule 17.12.2009


Ответы (1)


Страница А, вероятно, кэширована в вашем браузере. Вы получаете эту кешированную версию, нажав назад. Попробуйте заставить браузер не кэшировать страницу в коде позади (страницы A) с помощью:

Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.Now - new TimeSpan(1, 0, 0));
Response.Cache.SetLastModified(DateTime.Now);
Response.Cache.SetAllowResponseInBrowserHistory(false);
person BritishDeveloper    schedule 03.04.2010