В настоящее время я работаю над новыми функциями для проекта, над которым я работаю, где пользователь может добавить одну или несколько записей одновременно. Этапы заключаются в следующем:Div не загружается с помощью нового PartialView из ajax-вызова
- Нажмите Добавить годовой отчет (ы).
- Модальное окно Telerik всплывает с выпадающим списком статусов.
- Выберите статус «Фактическое» и появится «Датчик даты» (также Telerik).
- Если вы выбрали «Проецируемый», для даты начала появится «Дата выбора», а также выпадающий список для выбора «Год окончания» («Проецировано» может работать несколько лет).
- Как только поле даты будет заполнено для любого выбора, нажмите кнопку «Добавить».
- При нажатии кнопки «Добавить» запускается метод ajax, который попадает на сервер, который создает список новых Годовых отчетов и отправляет их объекту Session. Затем он возвращается, если все будет успешным.
- В случае успеха отобразите текст с сообщением об успешном завершении, затем закройте окно и обновите div, содержащий список Годовых отчетов, с новыми.
Это все работает до сих пор, однако есть проблема. Как и когда вы запускаете это несколько раз, div, содержащий все ошибки Годовых отчетов, под которыми я подразумеваю, никогда не обновляется после первого раза, или использует предыдущие данные. Он не обновится. Я отключил кеширование на своих вызовах ajax, удалил предупреждения, удалил экземпляры setTimeout, удалил div и добавил его обратно и т. Д. Ничто из этого не обновляет div.
Однако, если я включаю IE Developer Tools, он работает. Я читал, что IE известен тем, что использует кеширование, что иногда бывает хорошо, но в этом случае это не так.
Есть ли способ отключить кеширование и принудительно перезагрузить div?
Ниже приведен мой код для чего происходит.
AddARPartialView.cshtml:
$(document).ready(function() {
$("#btnAdd").click(function (e) {
//Stop system from proceeding to server immediately
e.preventDefault();
//Used for checking Completion
var success = false;
//Show spinner while system processes page
//ShowProgress();
//Check to see if there was any validation errors
ShowValidationErrors();
//There was an error, so do nothing
if (hasError) {
//hideprogessbar();
return false;
}
//Save Message
$.ajax({
type: "POST",
cache: "false",
url: "/PM/AddARPartialView",
dataType: "json",
data: $('form').serialize(),
success: function (result) {
if (result.success) {
//Mark Success as true
success = true;
//Hide the Progress bar and show the success message
//hideprogessbar();
}
else {
//Mark Success as false
success = false;
//hideprogessbar();
var DetailError = 'Error while creating new Annual Reports. Please contact administrator with below details.'
+ '\n' + '\n' + result.Error;
$("#lblError").show();
$("#lblError").text(DetailError);
}
},
error: function (xhtr, e, e2) {
alert(e + '\n' + xhtr.responseText, 'error', '');
},
complete: function() {
if (success)
{
CloseARModal();
UpdateAnnualReports();
}
}
});
});
});
Обычная страница:
function CloseARModal() {
var arWindow = $("#AnnualReport").data("tWindow");
arWindow.close();
}
function UpdateAnnualReports() {
//Show spinner while system processes page
//ShowProgress();
$.ajax({
type: "GET",
cache: "false",
url: "/PM/ARPartialView",
success: function (result) {
$("#divARe").html(result);
},
error: function (xhtr, e, e2) {
if (xhtr.status === 401)
alert("Session Timeout or Unauthorized to access this webpage");
else
alert(e + '\n' + xhtr.responseText);
}
});
//hideprogessbar();
//alert("New Annual Report(s) added successfully!");
}