Если вы хотите собрать идентификаторы, которые не появляются в массиве users
, то итерация users
во внешнем цикле неверна: вы добавляете элементы в tmp2
, даже не просматривая вторую «запись» из users
. 116]
Вы должны поменять их следующим образом:
for(int service : tmp) {
boolean found = false;
for(int i = 0; i < users.size(); i += 2) {
if(users.get(i+1) == service) found = true;
}
if(!found) {
for (int i...) {
tmp2.add(users.get(i));
tmp2.add(service);
}
}
}
Конечно, иметь списки с двумя столбцами - плохая практика. Рассмотрим создание класса User
с 2 полями. А использование потоков поможет создать более читаемый код.
Добавьте метку времени querystring переменная к URL диалогового содержания - количеству галочек с 01.01.08 или чего-то - IE будет рассматривать его как новую страницу и игнорировать кэш.
Учитывая, что http-equiv директивы не работают (и возможно не должен использоваться), и несмотря на него, к сожалению, находиться в категории взлома решений, я думаю, что мы оказываемся перед необходимостью идти с этим (отправленный Greg)...
url = "<Some url with query string>"
var date = new Date();
window.showModalDialog(url + “&” + date.getTime(), ... );
Странно, что нет никакого категорического способа отключить кэширование на этих модальных диалоговых окнах. Я не уверен, принято ли использование модальных диалоговых окон в веб-браузерах как "хорошая идея" или нет, но мы знаем о по крайней мере некоторых недостатках и альтернативах, но просто к сожалению, не можем использовать их в этом проекте.
Спасибо за Ваши предложения.
Разместите Скрипача, промежуточного IE и Ваш сервер. Затем проверьте, несет ли ответ на Ваш запрос Управление Кэша HTTP-заголовком. Там некоторое значение дано кроме без кэшей? Раз так затем, возможно, IE уделит этому заголовку первостепенное значение по Вашей http-equiv директиве.
В противном случае необходимо попытаться заставить сервер отправить HTTP-заголовку Cache-Control:no-cache. Если IE не уважает это, это - ошибка в IE. Опыт показывает, что это менее болезненно для выбора другое решение, чем потребовать bugfix, так в этом случае я согласился бы на подсказку Greg.
Одна из странных причуд IE - то, что установка без кэшей в начале файла, кажется, не работает, но перемещение, которые разделяют к тому, после того, как исходный HTML часто делает. Все еще лучше всего для отправки его, поскольку HTTP-заголовок, но следующее будет работать в большинстве случаев:
<html>
<head><title>Blah</title></head>
<body>Contents</body>
</html>
<html>
<head>
<meta http-equiv="Cache-Control" content="no-cache" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
</head>
</html>
Чтобы очистить кеш, добавьте это при загрузке страницы:
Response.Cache.SetCacheability(HttpCacheability.NoCache);