2016-08-23 113 views
1

我有一个具有Image属性的类(POCO)。我使用这个类的列表<>作为gridview控件的数据源。大部分属性都从数据库中抓取。但是,我在后面的代码中动态生成条形码(System.Drawing.Image),并在数据绑定之前使用结果填充POCO中的Image属性。我不可能将图像存储在数据库或文件系统上。我如何去显示Gridview控件中的条形码?当我尝试时,没有任何显示和图像生成404错误。 Gridview的代码是:如何在asp.net 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> 

任何帮助都非常感谢!

回答

2

当使用其他第三方项目生成饼图时,我遇到了类似的问题。

我所做的是以下几点:

  1. 保持图像标签在你的网格。
  2. 设置图片标签以在您的网站中调用ASPX页面,在URL上传递您需要的任何参数以生成条形码图片。
  3. 在新的ASPX做图像以下
    • response.clear()
    • response.binarywrite()。

如果您浏览的网址,你会看到在浏览器中,这意味着图像,即URL也将显示在您的网格图片标记的图像。

+1

谢谢!我试图用HTTP处理程序做同样的事情,但没有得到任何地方。这对我来说很好。 –