PageMethods в IE 10 не отправляет параметр, что приводит к ошибке: неверный вызов веб-службы, отсутствующее значение для параметра

Следующий сценарий отлично работает со всеми распространенными браузерами, кроме IE10 без режима совместимости!

Я использую ASP.NET PageMethods в своем приложении следующим образом:

    [System.Web.Services.WebMethod]
    public static string TestItWM(string param1)
    {
        return "This is : " + param1;
    }

И связанный JavaScript:

    function TestIt() {
        var param1 = $("#testWebMethod").val();
        PageMethods.TestItWM(param1, OnSucceeded, OnFailed);
    }
    function OnSucceeded(result, userContext, methodName) {
        alert(result);
    }
    function OnFailed(error, userContext, methodName) {
        alert("error:" + error._message);
    }

Приведенный выше пример хорошо работает на Chrome26, FireFox16, IE10-CompatibilityView, но не работает с IE10!. Используя Fiddler2, я вижу во всех браузерах, что в запросе отправлен параметр, кроме IE10, ничего не отправлено в веб-метод!

Примечание: приложение размещено локально в IIS7.5/Windows7 моего компьютера с образцом URL:

http://localhost/MyApp1/Test.aspx

Ваша помощь приветствуется!


Кажется, это ошибка в IE10 или .NET-идентификации IE10 в Windows 7:

Как было сказано ранее, запуск IE10 от имени администратора решает проблему.

И чтобы решить это для клиентов, мне пришлось добавить следующую мета:

<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7" />

Заставить IE работать как 9 max!


person Tariq Alardah    schedule 14.04.2013    source источник
comment
Дважды проверьте, чтобы не было сообщений об ошибках JavaScript, особенно после запуска TestIt().   -  person Dave Ward    schedule 15.04.2013
comment
Спасибо за ответ, Дэйв, конечно, ошибок нет! странно, что IE10 - единственный браузер, который не отправляет параметр с запросом! хотя это в режиме совместимости!   -  person Tariq Alardah    schedule 15.04.2013
comment
После того, как я заметил, что приложение из VS2010 с IE10 работает хорошо, я попытался запустить приложение с помощью IE10 под управлением администратора, и оно готово РАБОТАЕТ!!! так в чем должна быть проблема!!??   -  person Tariq Alardah    schedule 15.04.2013
comment
Длинный выстрел, но возможно ли, что IE кэшировал версию страницы/скрипта для порта IIS7.5, который не передает параметр, но не для порта сервера разработки и не для кеша пользователя-администратора? Вы очищали кеш в IE в ситуации, когда он не работает?   -  person Dave Ward    schedule 15.04.2013
comment
Все еще сталкиваюсь с той же проблемой, о которой говорилось выше !!, любая помощь?   -  person Tariq Alardah    schedule 04.07.2013
comment
@TariqAlardah, у меня та же проблема. У вас есть исправление или обходной путь? См. здесь: stackoverflow.com/questions/18758180/   -  person Yosief Kesete    schedule 19.09.2013


Ответы (1)


Это известная проблема. Об этом сообщалось более года назад в различных формах.

Заявки на ошибки в MS Connect закрыты. Однако в jQuery есть одна ошибка: http://bugs.jquery.com/ticket/12790 который, очевидно, закрыт, но все еще был активен до прошлого месяца.

Согласно http://bugs.jquery.com/ticket/12790#comment:26 в этом потоке сообщалось, что некоторые надстройки создают проблемы (помимо других причин). У меня была эта проблема с менеджером загрузки в моем IE10/Win8. Возможно, вы могли бы проверить, не вызывает ли какие-либо надстройки DM / DAP, установленные в вашем IE, проблемы.

Выполните сравнение "Инструменты разработчика > Сеть > Начать захват" между IE-normal и IE-runas-admin. Это может помочь вам обнаружить проблемы.

Кстати. Можно ли голосовать и публиковать сообщения на SO, используя те же настройки? Если да, то это может быть не проблема IE10.

person Abhitalks    schedule 04.10.2013
comment
Отключение всех надстроек в моем Internet Explorer решило проблему. Спасибо @abhitalks - person Yosief Kesete; 02.04.2014