The more I work with .NET as a web development environment, the more I encounter that I can't do. I'll give some examples:
In short, there's a lot of work-around involved.
- I can't disable a button after the user clicks it to prevent the "double-clickers" of the world from clicking it twice.
- I can't have multi-line datagrids. For example, if it takes two rows of table space to display a a single database record, I can't do that. The datagrid only likes one table row per database row.
- I can't pass state information via links. Everything is button-driven.
It's not an enabling environment. Rather, it seems like an environment for lazy programmers.
"Want a quick way to display information in a grid? Do it in just six lines of code!"
(I'm still completing projects twice as fast as the company to which I'm consulting expected me to do, by the way.)
I've always been a Microsoft fan, but they don't get the web. They keep trying to make it into an environment that ignores the web standards and protocols out there. Which makes sense for a company that can develop its own OS for the whole world, but they tie the hands of the developer with Rube Goldberg contrivances to achieve "the web" by just letting the "programmer" just add water. All this does is encourage laziness and lax design standards.