Hello mbro87,
Actually, you do not really have to use declarative approach and OnClientClick but you can achieve what you need by using dynamic code behind and onclick attribute as you initially intended if you make sure you cancel the postback. The RadWindow is entirely created and shown on the client and when you initiate a postback it gets destroyed and recreated and it should be reopened.
Possible solutions I suggest are the following:
1) Cancel the postback by returning false explicitly here, too, due to browser specifics:
or
2) Wrap the button in an update panel but do not put the window manager inside it. - this will transform the postback in an ajax request which will lead to better user experience and will not destroy the opened RadWindow.
Please, test my suggestions and let me know how it goes.
Best wishes,
Svetlina
the Telerik team
Consider using RadControls for ASP.NET AJAX (built on top of the ASP.NET AJAX framework) as a replacement for the Telerik ASP.NET Classic controls, See the product support lifecycle here.