Различия IIS 5.1/6.0 с обновлением DataGrid и SqlDataSource
-
20-08-2019 - |
Вопрос
У меня тут странная проблема...
У меня есть приложение 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...