Если вы посмотрите здесь , они обсуждают аналогичную проблему. Хотя последний ответ не был выбран, я все равно рекомендовал бы делать то, что он говорит. После вашего первого параметра вы можете передать две функции обратного вызова; один для успешного вызова Ajax и один для отказа.
Ваша функция должна выглядеть примерно так:
var onDeleteSuccess = function(result) {
//Successfully deleted files, maybe display confirmation to user.
};
var OnDeleteError = function(result) {
//Deleting files unsuccessful, display error to user.
};
PageMethods.Delete_files(CurrentObj.id, onDeleteSuccess, OnDeleteError);
Попробуйте добавить «отсутствующие» (хотя они должны быть необязательными) параметры к вашему вызову PageMethod и посмотрите, решит ли это это.
Edit:
Я обнаружил закрытую ошибку на connect.microsoft.com об этой проблеме. Вы пытались использовать страницу только в IE7? Если это так, протестируйте его в других браузерах и посмотрите, работает ли он. Если это так, единственным вариантом может быть обновление IE7 до более новой версии или повторное открытие проблемы.
Редактировать после комментариев:
Попробуйте разместить этот код перед вызовом функции PageMethods.Delete_files:
PageMethods.set_path("PageYouAreTransferringto.aspx");
Я думаю, что вызываемый вами обработчик не понимает, какой метод серверной страницы вызывать, поскольку кажется (браузеру и JavaScript), что вы находитесь на другой странице.