我想在转发器中显示图像,图像源是数据库。和数据类型是varbinary(max)。添加图片标记时收到错误说 -
“服务器标签形成不好。”
如何在数据中添加图像以及在转发器控件中添加图像。
码
<asp:Repeater ID="RepterDetails" runat="server" DataSourceID="SqlDataSource1">
<HeaderTemplate>
<table style="border:1px solid #0000FF; width:500px" cellpadding="0">
<tr>
<td colspan="2">
<b>Testimonial</b>
</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr style="background-color:#EBEFF0">
<td>
<table >
<tr>
<td >
Comments:
<asp:Label ID="lblSubject" runat="server" Text='<%#Eval("comment") %>'/>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblComment" runat="server" Text='<%#Eval("designation") %>'/>
</td>
</tr>
</ItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" Height="100px" Width="100px" runat="server" ImageUrl="<%# "data:Image/png;base64," + Convert.ToBase64String((byte[])Eval("organizationLogo")) %>"/>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
您需要转义双引号或使用ImageUrl
属性的单引号。
所以这
ImageUrl="<%# "data:Image/png;base64,"+Convert.ToBase64String((byte[])Eval("organizationLogo")) %>"
成为这个......
ImageUrl='<%# "data:Image/png;base64," + Convert.ToBase64String((byte[])Eval("organizationLogo")) %>'