все
У меня есть приложение ASP.NET, которое использует элемент управления Repeater для отображения галереи миниатюр. Когда пользователь наведет курсор на одну из миниатюр, основное изображение представит эту миниатюру.
Он использует элемент управления Repeater в UserControl следующим образом:
<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>
Затем в файле JavaScript это:
function showImage(){
// Get thumbnail path.
var img = (this.style.backgroundImage).substring(4, (this.style.backgroundImage).length - 1);
$('#ctl00_ContentPlaceHolder1_ProductDetails1_pictureImage').attr('src', img);
}
Он отлично работает в IE9, отображая полный путь к изображению. Однако в FireFox8 img src выглядит так: "" ProductImages / K42JY_500.jpg "" ... с двумя наборами кавычек!
Я думаю, что управление повторителем является основной причиной проблемы, но я снова погуглил и погуглил и не смог найти никого, кто сталкивался с подобной ситуацией!