【问题标题】:How to display dynamically generated images in asp.net gridview?如何在asp.net gridview中显示动态生成的图像?
【发布时间】:2016-12-30 15:53:49
【问题描述】:

我有一个具有 Image 属性的类 (POCO)。我使用此类的 List 作为 gridview 控件的数据源。大多数属性都是从数据库中获取的。但是,我在后面的代码中动态生成条形码(System.Drawing.Image),并在数据绑定之前用结果填充 POCO 中的 Image 属性。我不可能将图像存储在数据库或文件系统上。如何在 Gridview 控件中显示条形码?当我尝试时,什么都没有显示,并且图像会产生 404 错误。 gridview的代码是:

<asp:GridView runat="server" ID="gvInventoryDetail" CssClass="centerpage" 
    style="width: 700px;" ItemType="DisplayModels.InventoryDetailItem" 
    DataKeyNames="InventoryId" AutoGenerateColumns="False"
    AllowPaging="True" PageSize="11" ShowHeaderWhenEmpty="True">
    <Columns>
       <asp:BoundField HeaderText="Barcode" DataField="Barcode"/>
       <asp:TemplateField HeaderText="Image">
           <ItemTemplate >
               <asp:Image ID="BarcodeImage" runat="server"
                   Height="150px" Width="80px" />
           </ItemTemplate>
       </asp:TemplateField>
       <asp:BoundField HeaderText="Comments" DataField="Comments"/>
       <asp:BoundField HeaderText="Status" DataField="Status"/>
       <asp:BoundField HeaderText="Broken?" DataField="IsBroken"/>
  </Columns>
  <SelectedRowStyle BackColor="#89d8f6" Font-Bold="True"/>
</asp:GridView>

非常感谢任何帮助!

【问题讨论】:

    标签: c# asp.net image gridview dynamic


    【解决方案1】:

    在使用另一个 3rd 方项目生成饼图时,我遇到了类似的问题。

    我做了以下事情:

    1. 将图像标签保留在您的网格中。
    2. 设置该图像标记以调用您网站中的 ASPX 页面,传递您在 URL 上生成条形码图像所需的任何参数。
    3. 在新的 ASPX 中执行以下操作
      • response.clear()
      • 图像的response.binarywrite()。

    如果您浏览该 URL,您将在浏览器中看到该图像,这意味着该 URL 还将在您的网格中的图像标记中显示该图像。

    【讨论】:

    • 谢谢!我试图对 HTTP 处理程序做同样的事情,但没有得到任何结果。这对我来说很好。
    猜你喜欢
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多