it-swarm.com.de

'WebForm_DoPostBackWithOptions' ist in der IE11-Vorschau nicht definiert

IE11 kommt. Ich habe gerade die Entwicklervorschauversion installiert. Wenn ich jedoch einen Teil meiner Webanwendung ausführte und der Fehler WebForm_DoPostBackWithOptions angezeigt wurde, ist undefined.

Der Fehler ist aufgetaucht, als ich mit dem Autopostback DropDownList gespielt habe.

Es sieht außerdem so aus, als ob es zuvor ein ähnliches Problem mit IE10 gab:

http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

24
user2376512

Schließlich fand ich die Lösung, danke Scott Hunters Rat.

Wenn Sie das IE11-Problem lösen möchten, installieren Sie den nachstehenden Hotfix.

6
user2376512

Ich hatte ein ähnliches Problem mit Internet Explorer 11, das vom .NET 4.0-Framework nicht richtig erkannt wurde. So habe ich das Problem gelöst:

Das Installieren der vorgeschlagenen Patches hat nicht ausgereicht. Nachdem ich mich eingehender mit dem Problem beschäftigt hatte, stellte ich fest, dass zwar der http://support.Microsoft.com/kb/2836939 patch auf dem Server installiert ist, der Browser jedoch immer noch als Mozilla mit Version 0.0 auf dem Server erkannt wird. Nach weiteren Nachforschungen habe ich festgestellt, dass die auf dem Server erkannte Version falsch ist, wenn Sie eine .browser-Datei im app_browsers-Ordner Ihrer Site haben, nämlich Mozilla 0.0.

Um das Problem zu umgehen, habe ich im Verzeichnis .browser eine benutzerdefinierte app_browsers-Datei mit folgendem Inhalt erstellt:

<browsers>
  <browser id="IE11" parentID="Mozilla">
    <identification>
      <userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
      <userAgent nonMatch="IEMobile" />
    </identification>
    <capture>
      <userAgent match="Trident/(?'layoutVersion'\d+)" />
    </capture>
    <capabilities>
      <capability name="browser"              value="IE" />
      <capability name="layoutEngine"         value="Trident" />
      <capability name="layoutEngineVersion"  value="${layoutVersion}" />
      <capability name="extra"                value="${extra}" />
      <capability name="isColor"              value="true" />
      <capability name="letters"              value="${letters}" />
      <capability name="majorversion"         value="${major}" />
      <capability name="minorversion"         value="${minor}" />
      <capability name="screenBitDepth"       value="8" />
      <capability name="type"                 value="IE${major}" />
      <capability name="version"              value="${version}" />
    </capabilities>
  </browser>

  <!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11,0) like Gecko -->
  <browser id="IE110" parentID="IE11">
    <identification>
      <capability name="majorversion" match="11" />
    </identification>

    <capabilities>
      <capability name="ecmascriptversion"    value="3.0" />
      <capability name="jscriptversion"       value="5.6" />
      <capability name="javascript"           value="true" />
      <capability name="javascriptversion"    value="1.5" />
      <capability name="msdomversion"         value="${majorversion}.${minorversion}" />
      <capability name="w3cdomversion"        value="1.0" />
      <capability name="ExchangeOmaSupported" value="true" />
      <capability name="activexcontrols"      value="true" />
      <capability name="backgroundsounds"     value="true" />
      <capability name="cookies"              value="true" />
      <capability name="frames"               value="true" />
      <capability name="javaapplets"          value="true" />
      <capability name="supportsCallback"     value="true" />
      <capability name="supportsFileUpload"   value="true" />
      <capability name="supportsMultilineTextBoxDisplay" value="true" />
      <capability name="supportsMaintainScrollPositionOnPostback" value="true" />
      <capability name="supportsVCard"        value="true" />
      <capability name="supportsXmlHttp"      value="true" />
      <capability name="tables"               value="true" />
      <capability name="supportsAccessKeyAttribute"    value="true" />
      <capability name="tagwriter"            value="System.Web.UI.HtmlTextWriter" />
      <capability name="vbscript"             value="true" />
    </capabilities>
  </browser>
</browsers>

Ein ähnlicher Ansatz wird im folgenden Artikel vorgeschlagen: doPostback schlägt in IE 11+ Windows 8.1 fehl.

Ich möchte klarstellen, dass das Problem nur mit .NET 4.0 auftritt. Mit .NET 4.5 werden der Browser und seine Version korrekt erkannt.

39
user2919107

Ich habe jeden Patch, den ich im Internet gesehen habe, ausprobiert, einschließlich der hier aufgeführten. Das einzige, was tatsächlich zu funktionieren schien, war die Installation von .NET 4.5 Framework auf dem Server.

Laden Sie es hier herunter: http://www.Microsoft.com/de-de/download/details.aspx?id=30653

Ich hoffe, das erspart jemandem ein paar Stunden, die ich bei diesem Fall verloren habe.

6
ckozl

Wenn Sie Schwierigkeiten haben zu verstehen, warum die Antwort von user2919107 oben (das Anlegen einer benutzerdefinierten .browser-Datei für IE11 in Ihren App_Browsers-Ordner) nicht funktioniert, versuchen Sie, eine vorhandene .browser-Datei in Ihrem App_Browsers-Ordner zu berühren.

Das Erstellen/Kopieren der IE11-Browser-Datei funktioniert nicht. Sie müssen eine vorhandene .browser-Datei berühren, damit der Inhalt von App_Browsers neu kompiliert und berücksichtigt wird.

5

Ja, dies ist das gleiche Kernproblem, das durch den ASP.NET-Hotfix vom Juni 2013 behoben wurde. Siehe http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-Explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit .aspx

1
EricLaw

Ich hatte auch dieses Problem. Ich habe alles versucht, um .NET 4.5 zu installieren. Ich habe nur nach einer kurzfristigen Lösung gesucht, bevor wir auf .NET 4.5 umsteigen. Panagiotis Poulos hatte bezüglich der neuen .browser-Datei Recht. Ich habe eine vorhandene .browser-Datei berührt und meine neue IE .browser-Datei wird jetzt erkannt. Soweit ich das beurteilen kann, funktioniert alles wieder.

Befolgen Sie kurz die Anweisungen von this guys . Wenn Sie jedoch den .browser-Ansatz ausprobieren, sollten Sie nach dem Hochladen Ihrer eigenen .browser-Datei eine vorhandene .browser-Datei berühren.

0
bowserm

Eine temporäre Lösung für dieses Problem gefunden. 

Ich habe versucht, den Hotfix anzuwenden, konnte den Hotfix jedoch nicht installieren. Der Fehler war: kb2600088 trifft nicht zu oder wird durch eine andere Bedingung auf Ihrem Computer blockiert. Wahrscheinlich aufgrund von .NET 4.5 habe ich aboogo gegoogelt, wollte aber .NET 4.5 nicht deinstallieren. 

Um das ursprüngliche Problem zu umgehen, starten Sie IE11 und wechseln Sie zur Entwicklungskonsole, indem Sie die Taste F12 drücken. Stellen Sie im Register "Emulation" den Dokumentmodus auf "10" und unter "Benutzer-Agent-Zeichenfolge" auf "10". Ich glaube, es emuliert IE 10, was perfekt funktioniert, ohne auf diesen Fehler zu stoßen. 

Dies ist nur eine Umgehung. Nicht fix Hoffe, es hilft denen, die versuchen, Arbeit zu erledigen.

0
f0rfun

Wenn Sie Windows 2003 ausführen und keinen Hotfix anwenden können; Setzen Sie die ClientTarget-Eigenschaft des Page-Objekts in der PageInit Ihrer ASP.NET-Seite auf "uplevel".

protected void Page_Init(object sender, EventArgs e)
{
    Page.ClientTarget = "uplevel";
}
0
Folkert

Wenn Sie IE 11 heruntergeladen haben, aber den ursprünglichen IE - Browser verwenden, der mit Windows geliefert wurde, ist der Benutzeragent des Browsers ein wenig anders und die mostvokabulierte Antwort funktioniert nicht.

Sie müssen nur diese Zeile ändern:

<userAgent match="Trident\/7.0; rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />

zu diesem:

<userAgent match="Trident\/7.0;(?'someGarbage'[^'rv:']*) rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)?)(?'letters'\w*))(?'extra'[^)]*)" />
0
Pouki