Deep within the .NET framework installation is a folder full of what are called browser definition files. For example this folder for version 4 forward is here:
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\Browsers
It is full of xml configuration files with an extension of .browser. These files tell ASP what Javascript and HTML to render for each browser and version.
When IE 10 was released there was an issue with certain things not working. An example was a DropDownList control not posting back. It turns out that there was a bug in the browser definition file for IE in the .NET framework. This link describes this:
http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx
Microsoft created a hotfix that updates these files and fixes the bug when you run it on the server hosting the site. I was really hesitant about deploying a hotfix to a production web server. My preference is to wait for hotfixes to be put into at least a cumulative update if not a service pack (This doesn't appear to have happened at the time of this writing). So, I added the updated IE browser definition file directly to the Visual Studio web project by adding a special ASP.NET folder named App_Browsers. I then added the updated .browser file from the link above to this new folder. After I published the site, the issues I had disappeared.
UPDATE:
I ran into similar problems with IE 11. However, I could not find the browser files for IE 11 anywhere. It looks like Microsoft prefers you to go the hotfix route. So I installed the following hotfix on the web server, and everything then rendered correctly.
http://www.microsoft.com/en-us/download/details.aspx?id=39257
KB2836939
No comments:
Post a Comment