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

A few updates to the wwHoverPanel Control


:P
On this page:

Today I got a couple of emails from several people who've run into a couple of issues with the wwHoverPanel AJAX control I posted a couple of weeks back. Interesting how things like that always seem to 'batch up'. The control has been out for a couple of weeks and that was the first feedback I ended up with. Anyway, I found the myself a couple of days after initially putting out the control and had fixed it immediately, but I've been really busy and so I hadn't been able to post an update to the wwHoverPanel class until today - I guess sometimes I need the kick in the ass.

 

The original release had a couple of issues that were causing problems:

 

Containership naming issues

This one's a little embarrassing: The control would fail in the various panel modes if hosted inside of a container control of any kind. This means hosted inside of a Master Page as well as any User Control, Panel or other container control. The problem is that the control names on the client got embedded using UniqueID rather than the correct ClientID. UniqueID uses $ for name separators while ClientID uses _. Anyway this issue was fixed a while ago, but I didn't get it up until just now.

 

Hover Panel AdjustWindowPosition adjustments

The control can automatically adjust its window position if the hover content pops too low on the Web page and starts scrolling off the bottom. If AdjustWindowPosition is true, the control will automatically keep the hover window high enough to show the whole window. This behavior was a bit flakey before and should work now. Thanks to Mike McDonald's comment that had it spot on.


Aborted Hover Navigation updates

I've also changed the behavior where a navigation is delayed and gets aborted by mousing off the control. Previously the mouse off would clear the mouse position and then still end up showing the result at the invalid mouse position which resulted in the window popping up at the top of the screen. This has now been changed so that the window is not displayed once you've navigated (ie. HidePanel was called).

 

The containership issue was pretty major and I'm sorry that I didn't catch that before it went out even. Eeek.

 

FWIW, I've been working on a new project where this control is being used for a number of remote call scenarios and it's working extremely well.

 

Anybody else playing with the Page Callbacks? Any problems? I've been using the JSON two-way call support to pass business objects into a page, updating the values and sending it back and it's really working out great in terms of minimizing the traffic that goes back and forth on the remote HTTP calls. The nice thing about more complex objects is that you can do away with excessive calls back and forth to the server, but rather send a couple requests with state maintained on the client to some degree.

 

I was talking with another developer who's having major scalability problems with an AJAX solution due to the fact that the AJAX requests are overwhelming the server with too much traffic. He's passing very small chunks of data back and forth, but there's a lot of them – as many as 20 for typical page hits just to load up the page (it's a pretty complex interface so this isn't as unreasonable as it sounds).

 

But we have to keep in mind that when we send 'small' chunks of data to the server and back, our data may only be a few bytes in length, but HTTP adds headers on both ends of the connection. Client headers especially can often be a few k bytes. So your integer  AJAX return value is still costing 10k in network traffic. Something to think about…


The Voices of Reason


 

guest
February 23, 2006

# re: A few updates to the wwHoverPanel Control

Any chance you will release a version that works with VFP and web connection?

Rick Strahl
February 23, 2006

# re: A few updates to the wwHoverPanel Control

Actually - he he...

Yes. There will be a wwHoverPanel control with roughly the same feature set in Web Connection 5.0. I have most of this hooked up already, but it's probably not going to make the initial release.

Jivi
February 23, 2006

# re: A few updates to the wwHoverPanel Control

Aw Man you ROCK!

Kevin Wright
February 23, 2006

# re: A few updates to the wwHoverPanel Control

> Anybody else playing with the Page Callbacks? Any problems? I've been using the JSON two-way call support to pass business objects into a page, updating the values and sending it back and it's really working out great in terms of minimizing the traffic that goes back and forth on the remote HTTP calls.

Any chance of a code sample for this, please?

Kevin

Rick Strahl
February 23, 2006

# re: A few updates to the wwHoverPanel Control

What do you mean? The samples come with it. Go to the product page and click on samples - you can view all of the samples online or download and run them locally.


Debashis
June 28, 2006

# re: A few updates to the wwHoverPanel Control

Hi ! while displayng the hoverPanel on mouseOver of a grid the panel is getting override by DropDowns which are placed down of the Grid.I mean the DropDowns are OverRiding the hoverPanel.Is there any way to set the panel position.

Kindly give ur feedback.

Thanks in advance.
Debashis

Rick Strahl
June 28, 2006

# re: A few updates to the wwHoverPanel Control

This is an IE bug. DropDowns float to the top of the ZOrder and will always be the top level control regardless of ZOrder placement of other controls. This works fine in all other browsers and IE 7.

Workaround is to hide the dropdowns as part of the callback code that fires.

Rick Strahl's Web Log
October 15, 2006

# wwHoverPanel AJAX Control for ASP.NET posted - Rick Strahl's Web Log

I've posted a first version of my wwHoverPanel control for ASP.NET which provides some high level AJAX functionality including pop over Hover window support for remote URL content, Page level Callbacks with two-way JSON marshalling and more.

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