I write a lot of web applications, but I don't like JavaScript. Too many applications made today are forced to be browser applications when the functionality clearly indicates a desktop solution.
To be fair, I view the fact Microsoft has put a great deal of effort into making it easy to deploy WinForms applications via the AppUpdater block and features in VS.NET 2005 as support for my opinions. Web Services + Thick Client + Easy Deployment = Best of many worlds. Even Sun had it figured out several years ago when the came up with Java WebStart: why not run a desktop app via a shortcut to a web site that checks for updated versions of the code it needs to run? Of course, writing desktop apps in Java is less fun than covering yourself with papercuts and jumping into a pool filled with ice-cold lemon juice, so JWS does them little good.
My point in all of this rant was that .NET is wonderfully extensible in many different ways. It was suggested to me that server-side code could be written to generate some basic and common client side Javascript actions, such as making it so that a radio button list could hide or show an ASP:Panel depending on its selection, without postbacks. Seems simple enough, but if designed properly it could be the first step towards bigger and better things.
Without doing any code experimentation yet, I can think of 3 ways I might set out to do this:
<library:ToggleVisibleRunat="server" ShowValue="Yes" HideValue="No" Target="loginPanel" Event="IndexChanged" ID="Clientaction1" NAME="Clientaction1">
<asp:RadioButtonList Runat="server" ID="showLogin" AutoPostBack="False">
<asp:ListItem>Yes</asp:ListItem>
<asp:ListItem>No</asp:ListItem>
</asp:RadioButtonList>
</library:ToggleVisible>
<asp:Panel Runat="server" ID="loginPanel">
... other stuff here ...
</asp:Panel>