Asp.net 如何在数据库的数据列表中显示图像?
我有一个带有图像控件的数据列表,其aspx代码为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
<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";