After problems with Internet Explorer 10 throwing __doPostBack is undefined errors right and left on old websites I found a working solution to this problem at Scott Hanselman's blog, link is at the end of the post.

The problem is a bug in the browser definition files that are installed on the server machine. These browser definitions may either be

  1. Installed machine-wide
  2. Installed site-by-site (site specific) by placing them inside the App_Browsers folder (Available as nuget packages or downloadable from Scott Hanselman's blog)
    The second alternative is prefferable if you don't have access to install hotfixes on the machine itself (for example on a hosted environment). Otherwise I suggest you install the machine-wide hotfix.

All downloads can be reached from the attached link to Scott's blog.

Update for Internet Explorer 11
The above solution doesn't work with Internet Explorer 11 and a specific browser section has to be added to the ie.browser file for it to work with Internet Explorer 11.

Add the following section to the ie.browser file in your App_Browsers folder

<!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko -->
<browser id="IE11" parentID="Mozilla">
    >identification>
        <userAgent match="Trident/(?'layoutVersion'\d+).*rv:(?'revision'(?'major'\d+)(\.(?'minor'\d+)?))" />
        <userAgent nonMatch="MSIE" />
    </identification>

    <capabilities>
        <capability name="browser"              value="IE" />
        <capability name="layoutEngine"         value="Trident" />
        <capability name="layoutEngineVersion"  value="${layoutVersion}" />
        <capability name="isColor"              value="true" />
        <capability name="screenBitDepth"       value="8" />
        <capability name="ecmascriptversion"    value="3.0" />
        <capability name="jscriptversion"       value="6.0" />
        <capability name="javascript"           value="true" />
        <capability name="javascriptversion"    value="1.5" />
        <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" />
        <capability name="revmajor"             value="${major}" />
        <capability name="revminor"             value="${minor}" />
    </capabilities>
</browser>

<!-- Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko -->
<browser id="IE11Preview" parentID="IE11">
    <identification>
        <userAgent match="Trident/(?'layoutVersion'\d+).*rv:(?'revision'(?'major'\d+)(\.(?'minor'\d+)?))" />
        <userAgent nonMatch="MSIE" />
    </identification>
</browser>

Sources

  1. Scott Hanselman - Bug and Fix: ASP.NET fails to detect IE10
  2. ASP.NET Browser Capabilities Update with IE10 and FF5 fixes for .NET 4
  3. ASP.NET Browser Capabilities Update with IE10 fix for .NET 2.0
  4. Stackoverflow - CrossPostback ,AJAX Controls and ASP.NET generated postbacks work for .NET 4.5 , not .NET 4.0 in IE 11