I'm tryng to create an Image Gallery that uses a datalist to drill down through the subgallery structure, and at each level there is a RadRotator that should display the images in the current subgallery. The problem is that when I add the logic that changes the datasource parameter that controls which subgallery's images are being displayed, it stops the RadRotator from rotating.
See code below:
See code below:
Imports
System.IO
Partial
Class
test
Inherits
System.Web.UI.Page
Protected
Sub
thumbRotator_DataBound(
ByVal
sender
As
Object
,
ByVal
e
As
System.EventArgs)
Handles
thumbRotator.DataBound
If
thumbRotator.Items.Count < 4
Then
thumbRotator.RotatorType = Telerik.Web.UI.RotatorType.FromCode
End
If
End
Sub
Protected
Sub
thumbRotator_ItemClick(
ByVal
sender
As
Object
,
ByVal
e
As
Telerik.Web.UI.RadRotatorEventArgs)
Handles
thumbRotator.ItemClick
Dim
thumbUrl
As
String
=
CType
(e.Item.FindControl(
"thumbImage"
), HtmlImage).Src
Dim
previewUrl
As
String
=
"~/App_Content/gallery/"
& Path.GetFileName(thumbUrl)
imagePreview.ImageUrl = previewUrl
End
Sub
Protected
Sub
DataList1_ItemCommand(
ByVal
source
As
Object
,
ByVal
e
As
System.Web.UI.WebControls.DataListCommandEventArgs)
Handles
DataList1.ItemCommand
If
e.CommandName =
"Gallery"
Then
ObjectDataSource1.SelectParameters(
"GalleryID"
).DefaultValue = e.CommandArgument
ObjectDataSource2.SelectParameters(
"GalleryID"
).DefaultValue = e.CommandArgument
thumbRotator.DataBind()
End
If
End
Sub
End
Class
<
body
>
<
form
id
=
"form1"
runat
=
"server"
>
<
telerik:RadScriptManager
runat
=
"server"
ID
=
"RadScriptManager1"
/>
<
telerik:RadAjaxManager
runat
=
"server"
ID
=
"RadAjaxManager1"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"thumbRotator"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"imagePreview"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
table
>
<
tr
>
<
td
colspan
=
"3"
>
<
asp:DataList
ID
=
"DataList1"
runat
=
"server"
DataSourceID
=
"ObjectDataSource1"
DataKeyField
=
"GalleryID"
RepeatColumns
=
"5"
>
<
ItemTemplate
>
<
img
src='<%# DataBinder.Eval(Container.DataItem, "ImageID", "thumbs/{0}") %>' runat="server" id="thumbImage" /><
br
/>
<
asp:LinkButton
ID
=
"LinkButton1"
runat
=
"server"
Text='<%# Eval("Title") %>' CommandName="Gallery" CommandArgument='<%# Eval("GalleryID") %>' />
</
ItemTemplate
>
</
asp:DataList
>
<
asp:ObjectDataSource
ID
=
"ObjectDataSource1"
runat
=
"server"
SelectMethod
=
"GetGalleriesByParent"
TypeName
=
"GalleryManager"
>
<
SelectParameters
>
<
asp:Parameter
DefaultValue
=
"0"
Name
=
"GalleryID"
Type
=
"Int32"
/>
<
asp:Parameter
Name
=
"ShowParentGallery"
Type
=
"Boolean"
DefaultValue
=
"True"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
</
td
>
</
tr
>
<
tr
>
<
td
>
<
img
src
=
"gallery_scroll_left.png"
id
=
"gallery_scroll_left"
/>
</
td
>
<
td
style
=
"vertical-align:middle; height: 140px;"
>
<
telerik:RadRotator
ID
=
"thumbRotator"
runat
=
"server"
RotatorType
=
"ButtonsOver"
Width
=
"572"
Height
=
"118px"
ItemHeight
=
"118"
ItemWidth
=
"145"
FrameDuration
=
"1"
ScrollDirection
=
"Left,Right"
DataSourceID
=
"ObjectDataSource2"
>
<
ItemTemplate
>
<
div
class
=
"itemTemplate"
>
<
img
src='<%# DataBinder.Eval(Container.DataItem, "ImageUrl", "thumbs/{0}") %>' runat="server" id="thumbImage" />
</
div
>
</
ItemTemplate
>
<
ControlButtons
LeftButtonID
=
"gallery_scroll_left"
RightButtonID
=
"gallery_scroll_right"
/>
</
telerik:RadRotator
>
<
asp:ObjectDataSource
ID
=
"ObjectDataSource2"
runat
=
"server"
SelectMethod
=
"GetImagesByGallery"
TypeName
=
"GalleryManager"
>
<
SelectParameters
>
<
asp:Parameter
DefaultValue
=
"0"
Name
=
"GalleryID"
Type
=
"Int32"
/>
</
SelectParameters
>
</
asp:ObjectDataSource
>
</
td
>
<
td
>
<
img
src
=
"gallery_scroll_right.png"
id
=
"gallery_scroll_right"
/>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"3"
style
=
"text-align: center;"
>
<
asp:Image
ID
=
"imagePreview"
runat
=
"server"
ImageUrl
=
"no-image.png"
/>
</
td
>
</
tr
>
</
table
>
</
form
>
</
body
>