Sys.WebForms.PageRequestManager is undefined error in IE11, working fine in IE10 and below

19,705

Solution 1

So I don't have a solution for you, but here is what I think is going on based on my experience with my Server compared to my local development machine. It looks like you are using the ASP.NET control toolkit, which was sort of deprecated a few years back and should be available as an open source project on Codeplex now. It is primarily driven from the server-side and I am betting it is doing some poor browser sniffing since that was a common thing to do back then. What it should do is feature detection.

So where does the problem come from? So my local dev machine reports IE 11 as majorVersion == 11. My server reports majorVersion as 7. So there really needs to be a patch to fix the server, but I am not sure if it exists yet. The other option is to go patch the control toolkit to NOT browser sniff and feature detect instead. That is a very daunting task to say the least.

Just 2 cents worth on the topic though. This is a real concern because I am guessing this issue might actually keep your company or client from actually updating their systems, which eventually will catch up to them and cause them major issues, like not upgrading XP machines by April is going to cause a lot of companies.

Sorry I do not have a solution for you, but this is very interesting as I am doing research on issues that need to be resolved to help companies get off obsolete platforms like old IE & XP right now.

Solution 2

The problem is with the userAgent string sent by IE 11 where Dot Net 4.0 frameworks or below do not recognize as Internet Explorer. You can fix this problem either by upgrading your server to Dot Net 4.5 or you can add add an ie.Browser file in your web application within the folder App_Browsers with the following entry

<browser id="InternetExplorer" parentID="Mozilla">
    <identification>
        <userAgent match="Trident/(?'layoutVersion'[7-9]|0*[1-9]\d+)(\.\d+)?;(.*;)?\s*rv:(?'version'(?'major'\d+)(\.(?'minor'\d+)))" />
        <userAgent nonMatch="IEMobile" />
        <userAgent nonMatch="MSIE " />
    </identification>

    <capabilities>
        <capability name="browser"              value="InternetExplorer" />
        <capability name="version"              value="${version}" />
        <capability name="majorversion"         value="${major}" />
        <capability name="minorversion"         value="${minor}" />
        <capability name="layoutEngine"         value="Trident" />
        <capability name="layoutEngineVersion"  value="${layoutVersion}" />
        <capability name="type"                 value="InternetExplorer${major}" />
    </capabilities>
</browser>
Share:
19,705
Fahad Mullaji
Author by

Fahad Mullaji

Updated on June 05, 2022

Comments