Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

'WebForm_DoPostBackWithOptions' is undefined in IE11 Preview

IE11 is coming. I just installed the developer preview version. However, if I run some of my web application and I got the error WebForm_DoPostBackWithOptions is undefined.

The error popped up when I was playing with the autopostback DropDownList.

Moreover, it looks like there was a similar issue with IE10 before:

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

like image 747
user2376512 Avatar asked Aug 14 '13 23:08

user2376512


3 Answers

I had a similar issue with Internet Explorer 11 not being detected correctly by .NET 4.0 framework. Here's how I worked around the problem:

Installing the suggested patches didn't do the trick. After digging deeper into the issue, I found that although the http://support.microsoft.com/kb/2836939 patch is installed on the server, the browser is still recognized as Mozilla with version 0.0 on the server. After additional research I found that if you have any .browser file in your site's app_browsers folder, the version detected on the server is wrong, namely Mozilla 0.0.

To work around the issue I created a custom .browser file in the app_browsers directory with the following content:

<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>

A similar approach is suggested in the following article: doPostback failing in IE 11+ Windows 8.1

I would like to clarify that the issue is happening only with .NET 4.0. With .NET 4.5, the browser and its version are detected correctly.

like image 164
user2919107 Avatar answered Nov 10 '22 14:11

user2919107


Finally, I found the solution, Thanks Scott Hunter's advice.

If you want to solve the IE11 issue, please install the hotfix below.

  • http://support.microsoft.com/kb/2836939 - NDP 4 - Win7SP1/Win2K3SP2/Win2K8R2SP1/Win2K8SP2/VistaSP2/WinXPSP3

  • http://support.microsoft.com/kb/2836940 - NDP 3.5 SP1 - Win2K3SP2/Win2K8SP2/VistaSP2/WinXPSP3

  • http://support.microsoft.com/kb/2836941 - NDP 2.0 SP2 - Win2K3SP2/WinXPSP3

  • http://support.microsoft.com/kb/2836942 - NDP 3.5 SP1 - Win7SP1/Win2K8R2SP1

  • http://support.microsoft.com/kb/2836943 - NDP 2.0 SP2 - Win7SP1/Win2K8R2SP1

  • http://support.microsoft.com/kb/2836945 - NDP 2.0 SP2 - Win2K8SP2/VistaSP2

  • http://support.microsoft.com/kb/2836946 - NDP 2.0 SP2 - Win8RTM/WinRTRTM/Win2K12RTM

like image 40
user2376512 Avatar answered Nov 10 '22 16:11

user2376512


I tried every patch that I've seen listed on the internet, including the ones listed here. The only thing that actually seemed to work was installing the .NET 4.5 Framework on the server.

Get it here: http://www.microsoft.com/en-us/download/details.aspx?id=30653

Hope this saves someone a few of the hours I've lost on this one.

like image 31
ckozl Avatar answered Nov 10 '22 14:11

ckozl