Действие, которое вызывает выполнение этого кода, ДОЛЖНО быть событием обратной передачи, а не вызовом AJAX.
Это связано с природой способа обработки запросов AJAX.
Я боролся с этим в течение нескольких часов. Выполнение запроса ajax в моем файле WebForms Code-Behind
не работало & использование UpdatePanel
привело к той раздражающей ошибке, и я не смог найти решение. Наконец я нашел решение, которое работает!
.ashx
(Универсальный Обработчик) файл. Я создал мой в высокоуровневой сервисной папке так: Services\EventsHandler.ashx
. Когда Вы делаете это, необходимо закончить с обоими .ashx
& .ashx.cs
файл. ashx.cs
файл Вы найдете ProcessRequest
метод, куда можно поместить весь код. можно назвать этот метод, делающий что-то подобное следующему в файле JavaScript:
$('#MyButton').click(function () {
var zipCode = $('#FBZipBox').val();
$.getJSON('/Services/EventsHandler.ashx?zip=' + zipCode, function (data) {
var items = [];
$.each(data.Results, function (key, item) {
items.push('<span>item.Date</span>');
});
}).complete(function () {
// More Logic
});
return false;});
В Вашем ashx.cs
файл можно получить доступ к использованию параметров запроса:
категория var = контекст. Запрос. QueryString ["индекс"];
можно тогда возвратить использование результата:
контекст. Ответ. Запишите (yourResponseString);
При нажатии кнопки выполняется перенаправление на другую страницу, которая может передавать любые файлы, с которыми вы, возможно, захотите сделать такие вещи. Мы используем страницу document.aspx на многих наших сайтах, а затем передаем идентификатор документа через строку запроса и транслируем файл оттуда.
В вашем примере вы в основном пытаетесь изменить заголовки для страницы, которая уже отображалась что запрещено
Держите кнопку вне панели обновлений. Тогда все работает нормально.