The WinForms model for web development is absolutely atrocious. It has an event model that only makes sense on the desktop. To get this event model working on the web, they literally shoe-horned a size 6 stiletto onto a size 12 male foot. They invented all sorts of hacks like viewstate just to get this event model to work. And in the end, it does not buy the developer anything other than lots of confusion when they initially begin working with the framework over the order of events.
Seriously, if you've ever been to some beginner/intermediate MS conference lectures, they need to cover topics that no other web developer needs to even worry about, like how to keep your viewstate nice and trim, how to ensure that your web app works across a cluster and doesn't cough because the viewstate was generated on one server and consumed by another one (http://msdn.microsoft.com/en-us/library/ms998288.aspx), etc..
It's a terrible terrible terrible monstrosity that should only be interesting in the academic sense of "I wonder if it's possible to do that" kind of way.
Seriously, if you've ever been to some beginner/intermediate MS conference lectures, they need to cover topics that no other web developer needs to even worry about, like how to keep your viewstate nice and trim, how to ensure that your web app works across a cluster and doesn't cough because the viewstate was generated on one server and consumed by another one (http://msdn.microsoft.com/en-us/library/ms998288.aspx), etc..
It's a terrible terrible terrible monstrosity that should only be interesting in the academic sense of "I wonder if it's possible to do that" kind of way.