+1  A: 

I believe it's because you're missing a "#" statement here. Give that a try (this is untested).

    Text='<% "< img src=
    // should be
    Text='<%# "< img src=

[edit]

Could you retry it with this code and see if it works?

<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 />
James
Yes. That was my first impression as well, but the result was that with the # sign it did not work in any of the browsers. thanks.
Geo
+2  A: 

Have you looked at the rendered page source. If so does it generate the same source?

Jeffrey Hines
+1  A: 

You're setting the text of the link to some strange string. The quotes don't work in the constructed string if the names have any spaces.

If you actually want to display an image in the link, use ImageUrl instead.

The <% ... %> is getting sent to the browser. IE and Chrome are just ignoring it as a comment.

UncleO
+1  A: 

Another option to try is:

<asp:HyperLink ID="HyperLink1" runat="server" 
Text='<%# GetImageString(PhotoGalleryBaseUrl + Eval("image_file_name").ToString() )%>'>
</asp:HyperLink>

(Don't forget string conversion on the Eval)

Where GetImageString() is a public method on the page:

public string GetImageString(string imageFilePath)
{
return "<img src='" + imageFilePath + "'>";
}
Jason Snelders