Вопрос

У меня тут странная проблема...

У меня есть приложение ASP.NET 3.5, в котором есть GridView и SqlDataSource в Default.aspx.GridView привязан к данным SqlDataSource.GridView имеет кнопку для каждой строки под названием «Просмотр», которая отправляет пользователя на отдельную страницу, где строку можно редактировать.

У меня есть две установки этого приложения: одна на моем ноутбуке для разработки под управлением XP с IIS 5.1, а другая на сервере Windows 2003 с IIS 6.0.Файлы web.config идентичны, свойства конфигурации IIS идентичны, и они обращаются к одной и той же базе данных.

На моем ноутбуке поведение, которое я вижу, является «правильным» и выглядит следующим образом:1.Откройте страницу, выберите страницу 15 таблицы данных с помощью ссылок на страницы.2.Нажмите кнопку просмотра записи, просмотрите страницу редактирования.3.Нажмите кнопку «Назад», и вы вернетесь на страницу Default.aspx, а GridView будет перезагружен/обновлен новыми данными.Повторное нажатие кнопки «Просмотр» приведет вас к нужному элементу.

На сервере я вижу это:1.Откройте страницу, выберите страницу 15 таблицы данных с помощью ссылок на страницы.2.Нажмите кнопку просмотра записи, просмотрите страницу редактирования.3.Нажмите кнопку «Назад», и вы вернетесь на страницу Default.aspx, а GridView будет НЕТ перезагрузился с новыми данными (всплывает сразу).Повторное нажатие кнопки «Просмотр» приведет вас к НЕПРАВИЛЬНЫЙ элемент.

Очевидно, есть какая-то проблема с кэшированием, но я не могу ее понять... есть идеи?

Это было полезно?

Решение

Я не уверен в точной причине или причине этого, но, как я и ожидал, это была проблема с кешированием.Когда я добавляю утверждение:

Response.CacheControl = "no-cache";

Для Default.aspx.cs проблема исчезает.Неудивительно, что кнопка «Назад» портит шаблон запроса, но мне показалось удивительным, что IIS 5.1, работающий на моем ноутбуке, обрабатывает кнопку «Назад» лучше, чем IIS 6.0...

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top