ProWorks Blog

IE 11 doPostPack and JavaScript Errors

By  |  Wednesday, January 08, 2014  |  , ,  |  3 comments

Recently we've been hearing from our clients and partners about trouble with Internet Explorer 11 and certain links not working on their web sites.  Here are the typical conditions:

  • the site uses .NET 
  • the server and/or .NET instance on the server is a few years old
  • the host server may not have the latest .NET patches (i.e., .NET 4.5)
  • the links that are not working involve some form of postback; this can include buttons, image buttons and/or hyperlinks - any element that invokes postback.

If upgrading the server with a "hot fix" patch is not an option, there's another low-impact soltution that seems to do the trick:

In your master page (below the @ Master directive) add the following lines:

<script runat="server">

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

}
</script>

I wouldn't regard this as anything but an interim soltuion.  But for older sites this may be one of the only options.

Other resources:

3 comments for “IE 11 doPostPack and JavaScript Errors”

  1. Posted 1/9/2014 at 10:16:15 AM
    Gravatar of Jason

    Another Umbraco fix for RTE here:

    http://issues.umbraco.org/issue/U4-3247#comment=67-11411

  2. Posted 2/24/2014 at 3:03:41 PM

    Check this out. This explains a lot: http://blogs.msdn.com/b/ieinternals/archive/2013/09/21/internet-explorer-11-user-agent-string-ua-string-sniffing-compatibility-with-gecko-webkit.aspx

    One of the comments half way down the page explains that we can add the <clientTarget> element to the web.config under system.web. This helps IIS do its magic.

    <clientTarget>
    <add alias="ie11" userAgent="Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko" />
    </clientTarget>

    This worked on the site that I was just seeing problems on.

    This is the MSDN documentation of the clientTarget element:
    http://msdn.microsoft.com/en-us/library/6379d90d(v=vs.100).aspx

    It says that this is the default configuration:

    <clientTarget>
    <add alias="uplevel" userAgent="Mozilla/5.0 (compatible; MSIE 6.0; Windows NT 5.1)" />
    <add alias="downlevel" userAgent="Generic Downlevel" />
    </clientTarget>

    That's why your code up above did what it was doing.


  3. Posted 2/27/2014 at 6:52:13 PM
    Gravatar of Mark Bowser

    My above fix stopped working for some reason. I had to go searching for a new one. Found it.

    Follow this guys instructions (http://blogs.telerik.com/aspnet-ajax/posts/13-12-19/how-to-get-your-asp.net-application-working-in-ie11), but if you try the .browser approach, remember to touch an existing .browser file after uploading your own .browser file. New .browser files aren't recognized immediately. They need to be rebuilt or something. Touching an existing .browser file will cause new .browser files to be recognized.

Post a comment

Comments closed