One thing I want to mention that might go unnoticed otherwise, is the difference between how things are done in Seaside vs. .Net. .Net, specifically ASP.Net, is based upon the concept of server controls. .Net's Ajax framework, Atlas, can allow some things to be done in just as little code as in Seaside, declarativley. But there's an inherent difference, philosophically, that's reflected at every level, all the way down to the language.
.Net is based upon pre-designed controls, that have very specific capabilities, step outside the bounds of those capabilities, and you're on your own, everything gets very hard. Seaside and Scriptaculous reflect the opposite approach, you build solutions by simple composition of existing components, there is no limit to how you can wire things together, except your imagination.
This is the same philosophical difference between the languages, Smalltalk is open, you decide what the language is, while C# and VB.Net are closed, the compiler writer chose the languages capabilities for you. If what you need to do fits within the limited of scope of what .Net's server controls offer, you might find it quite capable and enjoyable to use, but it can't compete with Seaside when you need to come up with a unique solution.
This is where Smalltalk and Seaside shine, they don't limit you, you can compose any solution you need, simply and easily. You don't need pre-built components because it's so easy to create them, on the fly, whenever you need them. If you find yourself doing the same thing over and over, you can create a component, or extend the renderer to make it simpler. In the previous article, I created cascading dialogs, but I didn't do it by using a control that was built with those capabilities. I simply composed a solution out of generic parts, .Net can't do this.