Следующий сценарий отлично работает со всеми распространенными браузерами, кроме 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!
TestIt()
. - person Dave Ward   schedule 15.04.2013