 <p>In <a href="http://www.atalasoft.com" rel="nofollow noreferrer">my company</a>'s toolkit, we implemented a technology we call <a href="http://www.atalasoft.com/products/dotimage/docs/RemoteInvoke.html" rel="nofollow noreferrer">remote invoke</a>. This consists of two parts - on the client side, there is a javascript method called RemoteInvoke() which takes a method name and an array of arguments to pass to the method. On the server side, you decorate a public method you would like to call with the attribute [RemoteInvokable]. RemoteInvoke matches signature as best as it can (type casting if needed) and then called the appropriate public method (if it found one).</p> <p>It's not for things as simple as click actions, but it if you need more complicated things, it will work just great.</p>