Таблица начальной загрузки не обновляет новые данные по кнопке, а выполняет перезагрузкуJquery

Программирование на jquery
Ответить
Anonymous
 Таблица начальной загрузки не обновляет новые данные по кнопке, а выполняет перезагрузку

Сообщение Anonymous »

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

Код: Выделить всё

data-show-refresh="true"
Свойство таблицы data-url настроено правильно. Доказательством этого является то, что таблица заполняется корректно при загрузке страницы. Кроме того, я проверил, что достигнут соответствующий метод контроллера.
Но если вы нажмете кнопку обновления на панели инструментов, произойдет следующее:
Мы достигнем правильного метода правильный контроллер, генерируется правильная модель, из этой правильной модели создается правильный json, этот json доходит до пользователя (проверяю его из браузера), но таблица не обновляет данные, изменившие БД.
В любом случае странно, когда я нажимаю «Обновить», хотя это ничего не делает, таблица на мгновение остается пустой, а затем данные появляются снова. Как будто что-то обновилось, но нет.
Если я перезагружаю страницу (и возвращаю только View("myview",model), а не Json(model)), обновленный значения будут отображаться. Не могу найти ошибку, буду признателен за любую помощь.
Читая документацию, я видел, как из события в jquery генерируется обновление таблицы. Я не предпочитаю этого делать.
Невозможно использовать кнопку обновления панели инструментов, включенную в эту таблицу начальной загрузки???
Я добавил кнопку для обновления таблицы , вызывая тот же метод в контроллере. Я еще раз проверил, что предоставленный json обновлен. Итак, используем следующий JS-код:

Код: Выделить всё

$.ajax({
url: '/Home/RefrescarTabla',
method: 'GET',
data: {},
dataType: 'json',
cache: false,
success: function (data) {
table.bootstrapTable('load', data);

table.bootstrapTable('destroy');
table.bootstrapTable();

$('#table').bootstrapTable('destroy');
$('#table').bootstrapTable({
data: data
});

},
error: function (error) {
}
});
Все еще не работает. Даже я видел, как таблица уничтожена, но загружает те же старые данные.
Я также пытался заставить кеш не использоваться с помощью:
В загрузочном файле- стол

Код: Выделить всё

data-cache="false"
Или от контроллера

Код: Выделить всё

[ResponseCache(NoStore = true)]
Схожу с ума, если честно.

Код: Выделить всё



property1
property2




@if (Model != null && Model.items != null)
{
@foreach (Class1 obj in Model.items)
{


@obj.property1
@obj.property2

}
}


Кроме того, я понял, что ошибка все равно возникает в другом браузере или при использовании режима инкогнито.
Я добавил в MVC-контроллер NET 8 эти Заголовки, чтобы избежать использования кеша. Тоже не работает.

Код: Выделить всё

Response.Headers["Cache-Control"] = "no-cache, no-store, must-revalidate";
Response.Headers["Pragma"] = "no-cache";
Response.Headers["Expires"] = "0";
Есть идеи? Знаешь, что может случиться? Большое спасибо

Подробнее здесь: https://stackoverflow.com/questions/784 ... -by-reload
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»