以下代码:
<asp:HyperLink ID="Image1_Link" runat="server"
Text='<% "< img src=" + PhotoGalleryBaseUrl + Eval("image_file_name") + ">" %>'>
</asp:HyperLink>
Image Size:
<asp:Label ID="image_sizeLabel" runat="server" Text='<%# Eval("image_size") %>'>
</asp:Label><br />
在Chrome和IE中呈现如下: Right Rendering http://cp.images.s3.amazonaws.com/ForumImages/cp-6-2-2009-4.53.28%20PM-03.png
在Firefox中渲染如此(这显然是错误的): Wrong Rendering http://cp.images.s3.amazonaws.com/ForumImages/cp-6-2-2009-4.55.10%20PM-04.png
编辑2:将#符号放在&lt;%前面不起作用。使用#符号会在所有浏览器中呈现错误。
答案 0 :(得分:2)
您是否查看了呈现的页面源代码。如果是这样,它会产生相同的来源吗?
答案 1 :(得分:1)
我相信这是因为你在这里错过了一个“#”声明。尝试一下(这是未经测试的)。
Text='<% "< img src=
// should be
Text='<%# "< img src=
<强> [编辑] 强>
您可以使用此代码重试它并查看它是否有效吗?
<asp:HyperLink ID="Image1_Link" runat="server">
<%# "<img src='" + PhotoGalleryBaseUrl + Eval("image_file_name") + "' />" %>
</asp:HyperLink>
Image Size:
<asp:Label ID="image_sizeLabel" runat="server" Text='<%# Eval("image_size") %>'>
</asp:Label><br />
答案 2 :(得分:1)
您正在将链接的文本设置为某个奇怪的字符串。如果名称有任何空格,则引号在构造的字符串中不起作用。
如果您确实想要在链接中显示图像,请改用ImageUrl。
&lt;%...%&gt;正在被发送到浏览器。 IE和Chrome只是忽略它作为评论。
答案 3 :(得分:1)
尝试的另一个选择是:
<asp:HyperLink ID="HyperLink1" runat="server"
Text='<%# GetImageString(PhotoGalleryBaseUrl + Eval("image_file_name").ToString() )%>'>
</asp:HyperLink>
(不要忘记Eval上的字符串转换)
GetImageString()是页面上的公共方法:
public string GetImageString(string imageFilePath)
{
return "<img src='" + imageFilePath + "'>";
}