Выпадающий список jqGrid dataUrl не обновляется

Я новичок в веб-разработке и работаю над своим первым приложением ASP.NET MVC 3. Я использую jqGrid и заметил, что обновление страницы не обновляет значения в раскрывающемся списке, пока я не открою одну и ту же страницу на другой вкладке, после чего обновление первой вкладки поднимет измененные значения.

У меня есть действие controllerа, которое выглядит так:

public JsonResult FavoriteToppings() { var all = GetFavoriteToppings(); return Json(all, JsonRequestBehavior.AllowGet); } 

и я считаю, что определение jqGrid выглядит следующим образом:

 { name: 'ToppingID', index: 'ToppingID', width: 200, editable: true, align: 'left', edittype: 'select', stype: 'select', editoptions: { dataUrl: '@Url.Action("FavoriteToppings", "Dessert")', buildSelect: createSelectList }, searchoptions: { dataUrl: '@Url.Action("FavoriteToppings", "Dessert")', buildSelect: createSelectList, sopt: ['eq'] } }, 

и createSelectList выглядит так:

 createSelectList = function (data) { var response, s = '', i, l, ri; if (typeof (data) === "string") { //var leng = data.length - 1; response = jQuery.parseJSON(data); } else { response = jQuery.parseJSON(data.responseText); s += 'Select...'; } if (response && response.length) { for (i = 0, l = response.length; i < l; i += 1) { ri = response[i]; s += '' + ri + ''; } } return s + ''; } 

Я заметил это при редактировании одного из наивысших имен. Я сменил ошибочный «Горячий Fugde» на «Hot Fudge» и сохранил это. Исходные данные в таблице обновляются, чтобы показать правильно заполненную верхнюю часть (т. Е. Все строки правильно отражают изменение), когда я обновляю страницу, но выпадающее окно фильтра этого не делает. Это действие вообще не вызвано после первого изменения.

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

Возможно, я просто ошибаюсь. Любые указания?

Я думаю, вы должны использовать

 ajaxSelectOptions: { cache: false } 

jqGrid для установки дополнительного cache: false параметров cache: false для jQuery.ajax, используемого jqGrid, если он получает данные с сервера из dataUrl .

Я заметил, что политики кэша варьируются от браузера до браузера (хром, похоже, имеет самую агрессивную политику кэширования). Повторяется ли поведение во всех браузерах? Ctrl-F5 работает?

  • Jqgrid - группировка данных уровня строки
  • jqgrid: как установить параметры панели инструментов на основе значения столбца в строке
  • jqGrid Reposition Удалить окно подтверждения
  • JQuery JQGrid - Как установить выравнивание ячеек заголовка сетки?
  • Остановка столбцов, изменяемых по размеру в jqgrid
  • jqGrid необходимо изменить поле в диалоговом окне «Добавить», но не в диалоговом окне «Редактировать»
  • Как добавить пользовательский Formatter для jqgrid с динамической привязкой столбцов
  • Почему gridview: true используется и что это значит?
  • jqgrid Страница 1 из x pager
  • JQuery Grid-SubGrid для отношения родитель-ребенок
  • Как обновить значение данных в jqgrid
  • Interesting Posts
    Давайте будем гением компьютера.