asp.net中的转发器数据源控件中没有很好地形成服务器标记

问题描述 投票:1回答:1

我想在转发器中显示图像,图像源是数据库。和数据类型是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>
html asp.net repeater
1个回答
2
投票

您需要转义双引号或使用ImageUrl属性的单引号。

所以这

ImageUrl="<%# "data:Image/png;base64,"+Convert.ToBase64String((byte[])Eval("organizationLogo")) %>"

成为这个......

ImageUrl='<%# "data:Image/png;base64," + Convert.ToBase64String((byte[])Eval("organizationLogo")) %>'
© www.soinside.com 2019 - 2024. All rights reserved.