ASP.NET на .NET 4, вызывающий IE11 throw _doPostBack, является неопределенной ошибкой javascript

Изменить: сайт находится на Windows Server 2003, поэтому его нельзя обновить до .NET framework 4.5.

Наш веб-сайт обслуживает ASP.NET ON .NET 4. При использовании IE 11 автоматическая обратная передача перестала работать с ошибкой «_doPostBack не определена». Скорее всего, это можно исправить с помощью некоторой модификации файла определения браузера, что я пока не знаю, как это сделать.

Microsoft предлагает обнаружение функций (предпочтительно) или изменение файла определения браузера. http://msdn.microsoft.com/en-us/library/IE/hh869299%28v=vs.85%29.aspx

Похоже, что обнаружение функций означает полное отбрасывание автоматической обратной передачи. Разве это не похоже на переписывание всего сайта?

Может ли кто-нибудь описать, как выполнить обнаружение функций и модификацию файла определения браузера? Какой путь предпочтительнее и почему.

Принятый ответ решил проблему, похоже, это единственный способ, если вы застряли на сервере 2003. Было бы очень хорошо, если бы кто-нибудь мог объяснить, как можно выполнить обнаружение функций без значительных изменений кода.


person frogcoder    schedule 05.11.2013    source источник


Ответы (4)


Похоже, что для Windows Server 2003 требуется решение для всего сервера, а все исправления не сработали, поэтому это нужно делать вручную.

  1. Отредактируйте C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Config\Browsers и добавьте определение браузера в этот ответ https://stackoverflow.com/a/19203518/1297563
  2. Запустите c:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\aspnet_regbrowsers.exe -i
  3. Перезапустите IIS
person Jiayun Zhou    schedule 08.11.2013

Обновите .NET Framework до версии 4.5

После установки выполните команду:

aspnet_regbrowsers -i
person Karl Glennon    schedule 22.11.2013
comment
Извините, я не ясно сформулировал вопрос. Мы застряли на Windows Server 2003. Так что нет .NET 4.5. - person frogcoder; 10.12.2013
comment
Нужно ли запускать команду aspnet_regbrowsers -i? Обновление .NET Framework до версии 4.5 само по себе решает проблему? - person Chris; 08.01.2014
comment
@ Крис, наверное, не повредит, но я не знаю, так ли это необходимо. - person Karl Glennon; 08.01.2014

@FrogCoder

Я столкнулся с этой проблемой вчера - и патч 2836939 решил мою проблему. Виндовс 8.1 IE11.

Обратите внимание на следующее из URL-адреса исправления:

«Примечание. Если вы запустите средство регистрации браузера ASP.NET (Aspnet_regbrowsers.exe) после установки обновления, вернется старое поведение».

http://support.microsoft.com/kb/2836939

Надеюсь это поможет.

person TryingToCode    schedule 08.11.2013
comment
Спасибо, но я пробовал. Пожалуйста, смотрите мой ответ @Uros-Goljat. - person frogcoder; 11.11.2013

Поместите приведенный ниже скрипт на свою главную страницу, чтобы исправить это. у меня была похожая проблема и я был исправлен.

<script runat="server">

protected override void OnInit(EventArgs e)
{
Page.ClientTarget = "uplevel";
base.OnInit(e);

}
</script> 
person vishal    schedule 29.10.2014
comment
Перепробовал абсолютно все (хотфиксы и т.д.), это единственное, что сработало для меня. Можно ли настроить это на стороне IIS вместо написания кода? На другом сервере этого бита кода нет и все работает нормально... - person Boris; 10.06.2017