Poor Netscape/Mozilla Support in .NET
An anonymous reader submits: "I use Microsoft's .NET Framework at my place of employment to create website applications for the general public. I have noticed a number of issues that can make web applications developed in .NET incompatible with Netscape and Mozilla." Read on below for his specific complaints; have you encountered the same incompatibilities, and can you suggest any workarounds?
"The most egregious issue I have run into is this bug in .NET framework, that can prevent posts (the facility for the web browser to send information to the server) in Netscape and Mozilla (all versions) because MS used Internet Explorer specific Javascript. Microsoft buried a mention of a hotfix addressing the bug shortly after the first Framework Service Pack. However, the latest Service Pack (SP2) came out several months later and it still does not contain the fix. The only way to obtain the hotfix is to contact Microsoft's paid support. ("In special cases, charges that are ordinarily incurred for support calls may be canceled if a Microsoft Support Professional determines that a specific update will resolve your problem" -- from the knowledgebase article). Keeping the patch as a hotfix that is not freely downloadable ensures that hosting providers will not have it installed.
A Unicode encoding issue in .NET can cause all fonts to display as squares instead of letters in Netscape 4. I am not saying that MS has to support NS4. I think the decision of whether or not to support Netscape 4 should be up to the developer, not Microsoft. MS describes a workaround in the knowledgebase article. (Anecdotally) all other web development environments I have seen allow proper code to work in Netscape without a workaround.
Standards-compliant websites utilizing most web-development platforms usually work fine in Netscape and Mozilla, even if the developer did not to test or develop for Netscape and/or Mozilla. However, Microsoft's .NET Framework inserts code and encodings into web applications that categorically break these browsers."
"Never attribute to malice that which is adequately explained by stupidity." --Robert Hanlon ("Hanlon's Razor")
"Windows isn't done until Lotus won't run." --Microsoft Windows developers (circa early 1990s; quoted anecdotally)
Stupid job ads, weird spam, occasional insight at
I had severe misgivings when I read that .Net generates its own HTML for some of its features, AND it was doing so in a browser specific way.
Suppose I wnat it to do something else?
I imagine that you could write your own control, but that would sort of defeeat the purpose of the elaborate architecture that MS touts as saving considerable development time.
Its a real honeypot and bear trap.
if MS is making an interoperative framework what more can you complain? Corps like IBM and Oracle when talking about interoperative issues they mean it - if you can't get Oracle work on AIX you can yell at both parties and they'll get it work. To them interoperable means profit. They hardly insist on one-platform solution when customers has their own business needs.
.NET, if it's done well, can bring MS' business to a new level, because low-cost(put down your torches please :), interoperable enterprise solutions is highly demanded. However, instances as such will well shattered our hope and MS is still having their own way in dealing with interoperability.
Frankly I don't see MS has that in their mind in the past when dealing with same issue.
I recently took a .NET course offered by a Microsoft partner, e.magination, and the first thing they said about the ASP.NET is that you need to go out and get another set of controls. The ones that come with ASP.NET cripple under other browsers. There are lots of them out there if you search, and e.magination provides consulting services in that area. You might be able to contact them and see what they use (most likely for a fee).
I will. Don't use the asp.net controls. use a standard control with the runat server attribute set to true. you will then be able to declare variables in the code behind file to manipulate them in code.
.NET to accurately render something complicated.
Never use the built in validators. they're poorly written and don't work well.
In general, the asp controls work ok if they're simple controls. Never depend on
Avoid the DataGrid control like the plague. Use repeater if you need to write a grid.
the built in ASP.NET controls work well if you use ie 6 on XP as a client, and degrade from there.
The Web will be a a lot better off if everyone pretends that Netscape 4 never happened.
Let it go. It has done more harm than even Microsoft to Web Standards.
I'm as mimsy as the next borogove but your mome raths are completely outgrabe.
A Unicode encoding issue in .NET can cause all fonts to display as squares instead of letters in Netscape 4
.NET issue.
This is because of Netscape 4's faulty handling of UTF-8 characters not a
The default encoding in ASP.Net is UTF-8.
You can change the default in your globally in web.config or per response in your aspx page.
You are right that many of the "webControls" are not cross-browser compliant. It's also true that some of the aspx headers may not include your preferred character-encoding, doctype, etc. The good news is, you can still take advantage of the rest of the framework, and save the webcontrols for IE specific projects. You can develop your own usercontrols and provide the same level of integration with the IDE. Also, the IDE is excellent about leaving your ASPX (html) code alone. In my opinion, at the very least, it's no harder to build cross-browser apps in Visual Studio.Net than it is in any other IDE.
BRENT ROCKWOOD, EST'd 1975