【问题标题】:showing images through gridview?通过gridview显示图像?
【发布时间】:2011-06-11 22:34:51
【问题描述】:

假设我的图像二进制数据保存在数据库表中,我想通过 gridview 显示这些图像。一种方法是创建一个页面,我将在其中传递一些 id 作为查询字符串,该页面将从 db 检索图像数据并通过 BinaryWrite 方法将图像数据流式传输到我的页面。一个例子是http://www.aspdotnetcodes.com/Insert_Images_Database.aspx。这个 url 描述了如何通过 BinaryWrite 显示图像数据。 这种方法很旧,我知道。有没有其他方法可以在 gridview 中显示图像,但我不想将图像 url 存储在表中。如果您知道在存储图像二进制数据时通过 gridiview 显示图像的任何其他方法,请告诉我D b。谢谢

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    我在这里问了一个类似的问题:

    Streaming Databased Images Using HttpHandler

    请注意,我必须在最终版本中使用 DataReader :-)

    【讨论】:

      【解决方案2】:

      听起来您已将图像以二进制格式存储在数据库中。然后你想在你的 GridView 中显示它们。

      考虑这种方法:

      • 在您的网格视图中创建一个模板字段来保存您的图像。它最终会调用处理程序 URL 来获取图像的二进制数据。
      • 创建图像处理程序页面——将其设为 .ashx。在查询字符串上放置一个唯一标识符,例如,从数据库中获取您想要的图像
      <Columns>
          <asp:TemplateField HeaderText="Image">
           <ItemTemplate>
              <asp:Image ID="Image1" runat="server"  Height="80px" Width="80px" 
              ImageUrl='<%# "ImageHandler.ashx?ImID="+ Eval("ImageID")
                         %>'/>
           </ItemTemplate>
      </asp:TemplateField>
      </Columns>
      

      请参阅answer at the bottom of this MSDN question for more details,了解如何实现您的图像处理程序。然后,您不必在绑定 GridView 时带回二进制数据。另一方面,它为网格中的每一行创建对处理程序的 n 次调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多