== Facts ==
- ASP.NET is using user-agent sniffing per default.
- Internet Explorer 10 has a user-agent string not known to .NET 4, as visible in the shipped file "C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\Browsers\ie.browser"
More information on http://blogs.msdn.com/b/ie/archive/2011/04/15/the-ie10-user-agent-string.aspx
== Bug ==
As a consequence, a central function such as __doPostBack() is not emitted properly by ASP.NET for IE10, and every component relying on a post back do not work, such as asp:LinkButton and everything using AutoPostBack.
== Workaround ==
In the meantime to make it work and to avoid similar issues in the future, I use a file ~\App_Browsers\BrowserFile.browser with the following:
<capabilities><!-- To avoid wrong detections of e.g. IE10 -->
<capability name="cookies" value="true" />
<capability name="ecmascriptversion" value="3.0" />
== Suggestions ==
- Provide a way to disable user-agent sniffing all together.
- Address the special case of IE10 by shipping an update to .NET.
- When needed, replace user-agent sniffing by feature detection, as advised even by some Microsoft teams