Tout le monde :
J'ai une application ASP.NET qui utilise un contrôle Repeater pour afficher une galerie de vignettes. Lorsque l'utilisateur passe la souris sur l'une des vignettes, l'image principale présente cette vignette.
Il utilise un contrôle Repeater dans un UserControl comme ceci :
<asp:Image ID="pictureImage" runat="server" Visible="true" Width="200px" />
<asp:Repeater ID="rpProductImages" runat="server" Visible="false">
<ItemTemplate>
<div>
<div style="float: left" id="smallImage" runat="server">
<div class="smallAltImage" onmouseover="showImage();"
style="border: 1px solid #999999; margin: 5px 5px 5px 4px;
width: 45px; height: 45px; background-position: center; background-repeat: no-repeat;
background-image: url('<%#ResolveClientUrl(productImagesPath)%><%# String.Format("{0}", DataBinder.Eval(Container.DataItem, "ImageName")) %>');">
</div>
<asp:Label ID="lblImageName" runat="server" Visible="false"><%# Eval("ImageName")%></asp:Label>
</div>
</div>
</ItemTemplate>
</asp:Repeater>
Puis, dans un fichier javascript, ceci :
function showImage(){
// Get thumbnail path.
var img = (this.style.backgroundImage).substring(4, (this.style.backgroundImage).length - 1);
$('#ctl00_ContentPlaceHolder1_ProductDetails1_pictureImage').attr('src', img);
}
Il fonctionne bien dans IE9, affichant le chemin d'accès complet de l'image. Dans FireFox8, cependant, le src img ressemble à ceci : ""ProductImages/K42JY_500.jpg"" ... avec deux séries de guillemets !
Je pense que le contrôle du répéteur est la cause centrale du problème mais j'ai cherché sur Google et encore sur Google et je n'ai trouvé personne qui ait connu cette situation similaire !