This is a migrated thread and some comments may be shown as answers.

Rotator OnClientItemShown not firing

2 Answers 54 Views
Rotator
This is a migrated thread and some comments may be shown as answers.
PaulH
Top achievements
Rank 1
PaulH asked on 13 Jul 2012, 12:25 PM
Hi there

I'm having a problem with a RadRotator in CoverFlowButtons mode whereby the OnClientItemShown event is not firing in some cases. I have the rotator setup with a collection (List<>) of images with additional data stored in hidden fields, one of which is a time to display, in the itemtemplate of the items. I have a mechanism operating in the background which checks the items in the rotator at timed intervals and changes the current item to the correct one for the time, using the set_currentItemIndex method. This correctly moves the rotator on to the appropriate item regardless of whether it's the next, previous or one some distance away. But when the selected item displays in the rotator neither the OnClientItemShowing or OnClientItemShown events fire - which I am relying on to change a large version of the selected image. If I manually click on an item in the rotator or use the next or previous buttons of the rotator then it does correctly fire the events and everything works perfectly. Is there something else I need to do to get the OnClientItemShown (or OnClientItemShowing) event to fire? I originally declared the event in the definition of the rotator but have since changed it to call the .add_itemShown method in the OnClientLoad event but all to no avail. I'm sure I have already had this working some time ago but now I'm not so sure. I've even stripped out all code from the event just in case there was something of issue in the code but that's made no difference either. I'm currently on version 2012.2.607.40 and the page I am using is a content page using a site master, but all code is on my aspx page. The rotator is simply contained in a div and I have no ajax calls taking place or anything of the kind.

Any suggestions?

2 Answers, 1 is accepted

Sort by
0
Slav
Telerik team
answered on 18 Jul 2012, 11:15 AM
Hello Paul,

It is expected behavior that the OnClientItemShown and OnClientItemShowing client-side events are not raised when the current item of RadRotator is set via set_currentItemIndex. Nevertheless, it is logical that these events are fired in the discussed scenario. We will consider changing this behavior in a future release of RadControls for ASP.NET AJAX, although currently I cannot provide a firm estimate when this will be done.

Is it possible that you wrap the part of your logic, which you need to execute when a new item is displayed, in a function so that you can call it both in the OnClientItemShown/OnClientItemShowing event handler and when the set_currentItemIndex method is used?

All the best,
Slav
the Telerik team
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to their blog feed now.
0
PaulH
Top achievements
Rank 1
answered on 18 Jul 2012, 03:31 PM
Hi Slav and thanks for the response.

I realised that it was unlikely that the situation would have a rapid resolution so I made some changes to store an array of information separately in the javascript of the page which I populate in the ClientLoad event so when I set the currentItemIndex I get the data I want from that rather than from the newly selected item in the Rotator. Ultimately, I'm now getting the right result though I agree with you that it would be logical that whenever a new item is shown (and is about to be shown) the events should fire regardless of what mechanism is used to make the switch.

Thanks again.
Tags
Rotator
Asked by
PaulH
Top achievements
Rank 1
Answers by
Slav
Telerik team
PaulH
Top achievements
Rank 1
Share this question
or