Playing a bit with the control I found some issues:
- If you use DataTitleField and DataDescriptionField and those are null in the DB (I may have some pictures with descriptions and other with just the title or maybe even some picture without both), you receive a system.nullreference exception instead of a pic with empty title/description
- If the pic is small ore the title/description is long, the image count text goes out the borders of the lightbox instead of expanding it. Screenshot here
- When paging images inside an open LightBox with the supplied arrows, in a databound set, i receive a JS error:
- [SOLVED] Adding a RadLightBoxItem in code behind with a target control before bounding to a collection (code follows), works BUT when opening the lightbox while the total number of pics displayed in the box is correct (sums the manually inserted items + the databound item) the number of the actual opened pic is wrong it always gets 1 both if you open the manually added item and the first data bound item, something like 1 of 5 for both.
in aspx (that's inside a formview inside a user control nested in a radgrid..)
Here is the result: screenshot here with the bigger pic wich is inserted "manually" in code behind (since it comes from another db table) and the smaller pics are databound (always in code behind with custom data-binding)
[SOLVED]: This was solved with <%# Container.ItemIndex + 1 %> thus taking into account the item you added manually (1 in my case)
- Some attributes maybe are somehow "obscure" for newbies (I tryed to use them based on common sense) like PreserveCurrentItemTemplates or AppendDataBoundItems. Some examples in the docs would be much appreciated, as well as some example accessing the bound field values in the DataBound event to modify them (add paths, change descriptions/titles).
- If you use DataTitleField and DataDescriptionField and those are null in the DB (I may have some pictures with descriptions and other with just the title or maybe even some picture without both), you receive a system.nullreference exception instead of a pic with empty title/description
- If the pic is small ore the title/description is long, the image count text goes out the borders of the lightbox instead of expanding it. Screenshot here
- When paging images inside an open LightBox with the supplied arrows, in a databound set, i receive a JS error:
Uncaught TypeError: Cannot call method
'get_imageUrl'
of undefined RadLightBoxScripts.js:270
c.RadLightBox._determineContentMode RadLightBoxScripts.js:270
c.RadLightBox._showLightBoxStructure RadLightBoxScripts.js:138
(anonymous
function
) RadLightBoxScripts.js:291
b.isFunction.i jQuery.js:3
r.complete jQuery.js:5
c jQuery.js:3
p.fireWith jQuery.js:3
u jQuery.js:5
b.fx.tick
- [SOLVED] Adding a RadLightBoxItem in code behind with a target control before bounding to a collection (code follows), works BUT when opening the lightbox while the total number of pics displayed in the box is correct (sums the manually inserted items + the databound item) the number of the actual opened pic is wrong it always gets 1 both if you open the manually added item and the first data bound item, something like 1 of 5 for both.
Dim
lightBoxItem
As
New
RadLightBoxItem
lightBoxItem.TargetControlID =
"MainImage"
lightBoxItem.ImageUrl = LinkHelpers.GetProfilePath(profile.ProfileId) & profile.ImagePath
Dim
profileImagesLightBox
As
RadLightBox =
DirectCast
(EvaForm.FindControl(
"ProfileImagesLightbox"
), RadLightBox)
profileImagesLightBox.Items.Add(lightBoxItem)
in aspx (that's inside a formview inside a user control nested in a radgrid..)
<
fieldset
>
<
legend
>5. Foto</
legend
>
<
dl
class
=
"dl-horizontal"
>
<
dt
><%#: If(Not String.IsNullOrWhiteSpace(Item.ImageDescription), Item.ImageDescription, "Foto") %></
dt
>
<
dd
>
<
div
class
=
"profile-photo"
>
<
asp:PlaceHolder
runat
=
"server"
Visible='<%# Not (String.IsNullOrWhiteSpace(Item.ImagePath)) %>'>
<
asp:image
runat
=
"server"
ID
=
"MainImage"
ImageUrl='<%# LinkHelpers.GetProfilePath(Item.ProfileId) & "t2-" & Item.ImagePath %>' CssClass="img-polaroid" />
</
asp:PlaceHolder
>
</
div
>
</
dd
>
</
dl
>
<
dl
class
=
"dl-horizontal"
>
<
dt
>Altre foto</
dt
>
<
dd
>
<
telerik:RadLightBox
ID
=
"ProfileImagesLightbox"
runat
=
"server"
DataImageUrlField
=
"ImagePath"
Modal
=
"true"
AppendDataBoundItems
=
"true"
TabIndex
=
"101"
>
<
ClientSettings
AllowKeyboardNavigation
=
"true"
NavigationMode
=
"Zone"
>
<
AnimationSettings
HideAnimation
=
"None"
NextAnimation
=
"Resize"
PrevAnimation
=
"Resize"
ShowAnimation
=
"Resize"
/>
</
ClientSettings
>
</
telerik:RadLightBox
>
<
asp:Repeater
runat
=
"server"
ID
=
"ProfileImages"
ItemType
=
"Eva.Entities.EvaProfileImage"
>
<
ItemTemplate
>
<
a
href="<%# LinkHelpers.GetProfilePath(Item.ProfileId) & Item.ImagePath%>" onclick="return false;"><
img
style
=
"display: inline;"
onclick="OpenRadLigthBox(<%# Container.ItemIndex %>, '<%= EvaForm.FindControl("ProfileImagesLightbox").ClientID %>');
return false;" class="media-object img-polaroid" src='<%# LinkHelpers.GetProfilePath(Item.ProfileId) & "t1-" & Item.ImagePath%>' /></
a
>
</
ItemTemplate
>
</
asp:Repeater
>
</
dd
>
</
dl
>
</
fieldset
>
Here is the result: screenshot here with the bigger pic wich is inserted "manually" in code behind (since it comes from another db table) and the smaller pics are databound (always in code behind with custom data-binding)
[SOLVED]: This was solved with <%# Container.ItemIndex + 1 %> thus taking into account the item you added manually (1 in my case)
- Some attributes maybe are somehow "obscure" for newbies (I tryed to use them based on common sense) like PreserveCurrentItemTemplates or AppendDataBoundItems. Some examples in the docs would be much appreciated, as well as some example accessing the bound field values in the DataBound event to modify them (add paths, change descriptions/titles).