Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

__doPostBack is undefined in IE11

Using a readymade asp HyperLink control, IE 11 is giving the error SCRIPT5009: __doPostBack is undefined with a link to here: http://msdn.microsoft.com/en-us/library/ie/xyf5fs0y(v=vs.94).aspx

This is seen in the F12 devtools console window.

Has anybody encountered this yet and is there a fix? This is a production environment.

EDIT: Applying hotfix http://support.microsoft.com/kb/2600088 didn't work for me, and IE 10 on Windows 8 works fine.

There is more recent article from Scott Hanselman with updated information. http://www.hanselman.com/blog/IE10AndIE11AndWindows81AndDoPostBack.aspx I will attempt these fixes and update this question but this appears to be isolated to windows 8.1 and IE11.

like image 793
personaelit Avatar asked Nov 11 '13 20:11

personaelit


3 Answers

After struggling with the same issue for a few days, we came across this solution:

http://connect.microsoft.com/VisualStudio/feedback/details/806542/fix-internet-explorer-11-not-detected-correctly-by-net-4-0-framework-when-custom-browser-files-are-used.

Add a new .browser file to the App_Browsers folder; we named the file 'IE11.browser', and if the App_Browsers folder doesn't exist, create it.

We then simply copied the body from the link above into the newly created file, redeployed, and now there's no more _doPostBack error.

The body of the file looked like this:

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

We didn't have to upgrade our .Net version from 4 to 4.5, and everything is now working as it should.

Hopefully this helps someone having the same frustrating issue!

like image 74
Robby Cowell Avatar answered Nov 15 '22 16:11

Robby Cowell


Put below script in your master page will surely fix it. i had a similar issue and it got fixed.

<script runat="server">

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

}
</script> 
like image 39
vishal Avatar answered Nov 15 '22 17:11

vishal


Installing the .NET Framework 4.5 on your web server should resolve it.

http://www.microsoft.com/en-gb/download/details.aspx?id=30653

Alternatively, if you can't install .NET Framework 4.5 there is a Microsoft hotfix for IE11 : http://support.microsoft.com/kb/2836939 (Thank you to @Afract for your comment)

like image 45
Chris Avatar answered Nov 15 '22 15:11

Chris