ASP.NET 1.1 Panels render as tables in Firefox?

Published on 12 June 2007

ASP.NET Panels are expected to render as

elements, but poking around with Firefox and FireBug the other day I was surprised to see them rendered as single-cell tables. It turns out that, by default, ASP.NET 1.x treats Firefox as a completely incompetent browser that can't even handle
s properly.

Though this sounds like another strike in the browser wars between IE and Firefox, apparently it is an accident of the development schedule of ASP.NET 1.1. Firefox's usage expanded so quickly after its initial release, that ASP.NET's handling of it was quickly out of date.

So, ASP.NET 1.1 treats Firefox as a 'downlevel' browser, and assumes it has only basic support for CSS, DOM and Javascript. Fortunately, this can be changed by adding a carefully-tuned section inside the <system.web> section of web.config or machine.config. Get the right, and ASP.NET will then treat Firefox as 'uplevel'. Note that ASP.NET 2.0 treats Firefox as uplevel by default, so doesn't need this fix.

The syntax is pretty wierd, but an example (along with a much more detailed discussion of the problem) can be found in Bart Gerardi's article here:
Rendering to Firefox from ASP.NET
The article also discusses other differences and things to look out for when using ASP.NET with Firefox.