Rick Strahl's Weblog  

Wind, waves, code and everything in between...
.NET • C# • Markdown • WPF • All Things Web
Contact   •   Articles   •   Products   •   Support   •   Advertise
Sponsored by:
Markdown Monster - The Markdown Editor for Windows

wwHoverPanel ASP.NET AJAX Control updated

On this page:

I’ve released another update (V 1.60) to the free wwHoverPanel AJAX control. This is version 1.60 and it includes a number of enhancements and features.


You can find the samples online here:



More information, samples, download and documentation:




Most of the changes are visual in nature so here are a few things that are new:


  • Non-auto close Hover Windows
    A number of people asked about this and although this was possibly previously, it’s now much easier to accomplish by simply setting AutoCloseHoverPanel to false. This is especially useful with the new DragPanel Component. You can see this in this example by checking the checkbox.

  • New wwDragPanel
    Actually this has been in the previous update, but I didn’t mention it much. DragPanel adds a draggable panel that can be moved around the page. It can also be made autoclosable so it shows a close button that closes the window without any extra code. This panel is useful in a number of ways and there are several examples that now show windows that don’t close and can be moved around. wwHoverPanel now inherits from from wwDragPanel so any hover panel that stays open can optionally be draggable. Making a window draggable is as easy as specifying a DragHandleID and setting the Draggable property. There’s both a server control that requires no client code and a client behavior control that can be attached to any DOM element to make it draggable. You can see this in this example by checking the checkbox.

  • New wwModalDialog
    A number of people have asked about this and so I’ve added a modal dialog control that shows an opaque overlay. This allows doing away with alert boxes on the client and gives you instead designable HTML layouts that can serve as popups. The control can be configured server side but it’s essentially a client side control that can be activated with a couple of lines of code or a single line in its generic non-designed mode: wwModalDialog.messageBox(message,title,button1,button2,dialogHandler);

  • ClientScriptProxy and wwScriptCompression
    I’ve posted about these components on several occasions here and here. The client script proxy is an MS AJAX compatible proxy for the ClientScript object that lets you call ClientScript or the MS AJAX script manager if available so that components work properly with MS AJAX’s UpdatePanel. One method – InsertClientScriptResource() also can detect whether a wwScriptCompression module is installed and if it is will compress any JavaScript resources with GZip. I added this mainly to reduce the size of the client script library which is now 9k. Both of these components are freestanding off the rest of the library so you can plug them in anywhere especially the ClientScriptProxy – any control developer will need something like this in the near future to be MS AJAX compatible.

  • Refactored client library and many new Utility routines
    The client library has been refactored quite a bit by consolidating a bunch of code in to reusable functions. The end result is that the while I added a ton of functionality the uncompressed size of the library actually shrunk a little from the previous version. There are many new utility functions a new wwUtils class. The client library is geared at practical use cases like showing and hiding components, setting opacity, moving controls around the page etc.

  • Performance tweaks for wwMethodCallbacks control and JSONSerializer
    Since I use method callbacks extensively in my applications I’ve been tweaking performance of this component a bit. There are updates that allow using the wwMethodCallbacks callback methods in user controls, custom server controls or in a separate HTTP Handler. The latter is considerably more efficient than page callbacks. One reason why I’m sticking with this library over MS AJAX is better type support, which is way too finicky and incomplete in MS AJAX.


Lots of new stuff in there – some of this has been in the kit for a bit in intermediate updates, but this is the official update in this round. I’ve also spent a bit of time going over the samples, cleaning them up a bit getting them up to date. I’ve been using similar samples for my MS AJAX and Anthem presentations and so I’ve consolidated various updates and fixes back into these demos.


Anyway enjoy…

Posted in AJAX  ASP.NET  

The Voices of Reason


A Continuous Learner's Weblog
February 26, 2007

# A Continuous Learner's Weblog: January 2007

# DotNetSlackers: wwHoverPanel ASP.NET AJAX Control updated

West Wind  © Rick Strahl, West Wind Technologies, 2005 - 2023