大家好:
我有一个使用 Repeater 控件显示缩略图库的 ASP.NET 应用程序。当用户将鼠标悬停在其中一个缩略图上时,主图像会呈现该缩略图。
它使用一个像这样的 UserControl 中的 Repeater 控件:
<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”...有两组引号!
我认为Repeater控件是问题的核心原因,但是我搜索了又搜索,却找不到任何经历过类似情况的人!