Asp.net 如何在数据库的数据列表中显示图像?

Asp.net 如何在数据库的数据列表中显示图像?,asp.net,sql-server,c#-4.0,datalist,Asp.net,Sql Server,C# 4.0,Datalist,我有一个带有图像控件的数据列表,其aspx代码为 <asp:DataList ID="DataList1" runat="server" RepeatDirection="Horizontal" RepeatColumns="4"> <ItemTemplate> <div> <asp:Image ID="Image1" ImageUr

我有一个带有图像控件的数据列表,其aspx代码为

    <asp:DataList ID="DataList1" runat="server" 
        RepeatDirection="Horizontal" RepeatColumns="4">
            <ItemTemplate>
                <div>
                    <asp:Image ID="Image1" ImageUrl='<%#Eval("IMAGE") %>' 
                     runat="server" Height="75px" Width="75px" />
                </div>
            </ItemTemplate>
        </asp:DataList>
sql表如下所示

    Icon( ID, SUBCAT_ID, ALBUM_ID, SUBCAT_NAME, ALBUM_NAME, IMAGE, ICON_SIZE, 
    BLACKWHITE, NAME, DESIGNER, HITS, RATINGS, PRICE)

当我调试代码时,它会显示数据集中的表行,但当我运行页面时,它不会显示图像。。。。请告诉我它背后的问题是什么。图像存储在数据库中的另一项内容是二进制格式的

您将字节[]或二进制数据设置为ImageURL字段,这是错误的。图像URL需要一个路径

查看此问题和答案:

在datalist的itemdatabound事件中,找到图像控件。如果您正在使用html标记设置src属性,如果您正在使用,请查看以下答案:

//Find your image control (Image1 lets say) on the item databound event of the datalist.
Byte[] myImage = GetMyImageFromMyDataSource();
String st = Server.MapPath("myImageNameOrID.jpg"); // Try Name + ID to make it unique
FileStream fs = new FileStream(st, FileMode.Create, FileAccess.Write);
fs.Write(myImage, 0, myImage.Length);
fs.Close();
Image1.ImageUrl = "myImageNameOrID.jpg"; 
编辑:查看此链接以了解有关使用datalist的itemdatabound事件的更多信息:


点击此链接it acn帮助您:
//Find your image control (Image1 lets say) on the item databound event of the datalist.
Byte[] myImage = GetMyImageFromMyDataSource();
String st = Server.MapPath("myImageNameOrID.jpg"); // Try Name + ID to make it unique
FileStream fs = new FileStream(st, FileMode.Create, FileAccess.Write);
fs.Write(myImage, 0, myImage.Length);
fs.Close();
Image1.ImageUrl = "myImageNameOrID.jpg";