我该如何完成这个功能

时间:2011-04-23 22:27:35

标签: asp.net gridview sqldatasource

iam现在正在使用一些在网格视图中显示图像组的asp.net页面,但此图像必须是显示图像及其详细信息的另一页面的链接 这是我用来从数据库中获取图像的函数:

<script language="C#" runat="server">
   public void getImages ( Object src, GridViewRowEventArgs e ) {
      if ( e.Row.RowType == DataControlRowType.DataRow ) 
      {
         DataRowView rowView = ( DataRowView ) e.Row.DataItem;
         string imageid = rowView [ "imgid" ].ToString ( );
         string  imgstring=rowView ["image"].ToString();
         byte[] img = Encoding.ASCII.GetBytes(imgstring);
         TableCellCollection myCells = e.Row.Cells;
      }
   }
</script>

通过这段代码我从数据库中获取图像,但是作为字节数组 我无法将字节转换为原始图像

这是显示图像的网格视图

它的库存是:    

     <asp:hyperlinkfield 
        datanavigateurlfields="image"
        datanavigateurlformatstring="Default2.aspx?id={0}" >
        <controlstyle borderwidth="1" borderstyle="inset" />
     </asp:hyperlinkfield>
      <asp:hyperlinkfield
        datanavigateurlfields="imgid"
        datanavigateurlformatstring="Default2.aspx?id={0}">
        <controlstyle borderwidth="1" borderstyle="inset" />
     </asp:hyperlinkfield>
     <asp:hyperlinkfield
        datanavigateurlfields="imgid"
        datanavigateurlformatstring="Default2.aspx?id={0}">
        <controlstyle borderwidth="1" borderstyle="inset" />
     </asp:hyperlinkfield>
  </columns>

这是sql数据源

”     SelectCommand =“SELECT [imgid],[image] FROM [Image]”&gt;       现在运行代码时,网格视图显示为embty

我必须更改或添加的内容才能使图像显示在网格视图中,并且当点击其中的任何图像时,转到另一页面会显示图像及其详细信息

1 个答案:

答案 0 :(得分:0)

当您将图像存储在数据库中时,让它们在gridview中显示的最佳方式或网页上的任何其他位置都是使用HTTP处理程序。 Check this link out