Skip to content Skip to sidebar Skip to footer

Sys.WebForms.PageRequestManager Is Undefined Error In IE11, Working Fine In IE10 And Below

My clients have updated their browser to IE11 from IE10. I am getting below error on page refresh Sys.WebForms.PageRequestManager is undefined. Please check my code

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>

Solution 3:

This seems to be an known issues as the framework is not able to detect IE 11 as Microsoft Internet Explorer. You can download the patch from following link to resolve the problem.

Click here to Download patch from Microsoft site

Or following:

<head>
<meta http-equiv="X-UA-Compatible" content="IE=10" />
</head>

Solution 4:

Finally found solution to this problem. I upgraded .NET version from 4.0 to 4.5. I don't know how it internally works.

Thanks


Solution 5:

the references config file from Liran will work but only if Mozilla has javascript enabled. .Net 4.0 didn't have javascript enabled for Mozilla. This is from the default.browser file from a server with .Net 4.5:

<browser id="Mozilla" parentID="Default">
    <identification>
        <userAgent match="Mozilla" />
    </identification>
    <capture>
    </capture>
    <capabilities>
        <capability name="javascript" value="true" />
  • then run aspnet_regbrowsers.exe because browser files don't actually do anything until you run that.
  • If you're using a App_Browsers folder in your project you'll also need to delete your temporary internet files (mine was in C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files but your results may vary of course). You have to delete it because ASPNet needs to regenerate a dynamic DLL it generates from your App_Browsers/*.browser files.

Of course the easiest way is just install .Net 4.5. This answer is only applicable to people who can't for some reason.


Post a Comment for "Sys.WebForms.PageRequestManager Is Undefined Error In IE11, Working Fine In IE10 And Below"