C# will not give you the knowledge requried to programe using the asp.net
part of the framework, its just the language choice. You still need to
understand the asp.net control set as deeply as you would need to understand
taglibs etc. in JSP.
Asp.net only outputs html and javascript, just as jsp does, and good old
asp. In fact, ASP.NET 2.0 treats Firefox, Safari and Opera as up-level
browsers so compatibility should not be an issue. At its lowest form, you
can code all output as you would in asp and jsp, like scriptlets but its not
a good approach.
http://weblogs.asp.net/scottgu/archive/2004/11/09/254583.aspx
Its a weak argument for dismissing such an accepted industry standard
technology set and a dismissal likely only born from a lack of techncial
knowledge. A better evaluation would be to compare cost vs time to market
etc. which .net tends to win hands down with an experienced development team
and tools like vs.net. As to platform independence, if your deploying to
webservers, as you would be for asp.net or for JSP then platform
independence is not a consideration, its only a consideration for client
apps or where no skills to support the chosen web server environment is
available. If your happy to code in .net 1.1 then mono solves this problem
pretty much outright.