Is ASP.NET good enough for startup's
James Avery has a link to Jeff Eaton post that asks "Why not ASP.NET [for startup's]?".
Let's consider that if this is a cost thing then it's running Windows (costs) as opposed to Linux (free, unless your paying for support options but its relative). ASP.NET\Visual Studio Express (web edition and c# edition) are free. Jeff's remaining points can be addressed as Webform issues not ASP.NET issues, if your looking for Rails style in ASP.NET then projects like Castle MonoRail shoild be your first port of call. You can find all the power, flexability, community and all that Rails goodness and it's built onto of ASP.NET framework. To be fair to webforms, it's short comings are well know, it's product team is hard working in solving those problems and as a great community (which extends to the ASP.NET framework as a whole) of users and problem solvers\experts like the MVPs and ASP Insiders. To address problem 1, if you want to cut costs and run Linux you can still use ASP.NET using Mono. Mono is cross platform (Linux/Mac/Windows) with cross platform tools and is free as in beer (web host availability issues aside). Couple it with MonoRail and you have Rails like development in ASP.NET and costs you nothing.
So why not just use Rails then?
Rails has convention, baked in patterns, baked in testing, powerful language and a powerful framework and yes its all for free. You can hire Rails devs fairly easily and also find Apache/MySql experts easily too. Would you really every need ASP.NET then, you would be able to find webforms coders easily enough but it would trickier to find ASP.NET devs. Finding devs who understand and use things like patterns and testing would narrow your choices down yet more, the problem is that Rails baked this in from the start and the Microsoft way simply does not so in the general case you will struggle. So general availability of devs that grok good software pratice to build your startup app as durable, changeable and scaleable, it's a no brainer.
So what next
As much as I grok Ruby as a language I do love C#, I know each can do things better than the other but technologies like LINQ are exciting. While the spec space in .NET (NSpec for example) is not as complete as Ruby (RSpec) the unit test space is more mature IMHO, RUnit does the work as Rubys xUnit workhorse but MbUnit and NUnit are really pushing at the bounds. The question of patterns and structure will come and over time the style of devs will (hopefully) change too. It is prehaps what I have now and what the potential is for the future, as a startup all of these things need consideration.