从数据库显示图像到gridview [英] Displaying Image from database to gridview

查看:97
本文介绍了从数据库显示图像到gridview的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试从数据库获取图像并为其使用处理程序.
代码如下
在我的aspx页面上

I am trying to get images from database and uses a handler for it.
code are as follows
on my aspx page

<asp:GridView ID="GridView2" runat="server" AllowPaging="True"

                            AutoGenerateColumns="False" DataKeyNames="ID"

                            DataSourceID="SqlDataSourceGridView">
                            <Columns>
                                <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False"

                                    ReadOnly="True" SortExpression="ID" />
                                <asp:BoundField DataField="ImageTitle" HeaderText="ImageTitle"

                                    SortExpression="ImageTitle" />
                                    <asp:TemplateField HeaderText="Image">
                                <ItemTemplate>
                                <asp:Image ID="Image1" runat="server"

                                ImageUrl='<%# "HandlerCategory1.ashx?ID=" & Eval("ID")%>'/>
                                </ItemTemplate>
                                    </asp:TemplateField>

                            </Columns>
                        </asp:GridView>



并在我的HandlerCategory



and on my HandlerCategory

Dim con As New SqlConnection()
      con.ConnectionString = ConfigurationManager.ConnectionStrings("MyConnectionString").ConnectionString

      ' Create SQL Command

      Dim cmd As New SqlCommand()
      cmd.CommandText = "Select ImageTitle,Image from Images where ID =@ID"
      cmd.CommandType = System.Data.CommandType.Text
      cmd.Connection = con

      Dim ImageID As New SqlParameter("@ID", System.Data.SqlDbType.Int)
      ImageID.Value = context.Request.QueryString("ID")
      cmd.Parameters.Add(ImageID)
      con.Open()
      Dim dReader As SqlDataReader = cmd.ExecuteReader()
      dReader.Read()
      context.Response.BinaryWrite(DirectCast(dReader("Image"), Byte()))
      dReader.Close()
      con.Close()
  End Sub



现在,我在context.Request.QueryString上得到一个空值,这是我得到一个错误.



Now I am getting a null value on context.Request.QueryString that I am getting an error.
Is there something wrong on my code?

推荐答案



如果可以的话请尝试...
从以下位置更改代码:
Hi,

Try this if could help...
Change your code from:
<asp:TemplateField HeaderText="Image">
   <ItemTemplate>
      <asp:Image ID="Image1" runat="server" ImageUrl='<%# "HandlerCategory1.ashx?ID=" & Eval("ID")%>' />
   </ItemTemplate>
<asp:TemplateField>


例如:


to example:

<asp:TemplateField HeaderText="Image">
   <ItemTemplate>
      <a href='PhotoDetail.aspx?id= <%# Eval("ID") %>'>
         <img src='<%# "HandlerCategory1.ashx?ID=" + Eval("ID") %>' alt='<%# Eval("Picture") %>' />
      </a>
   </ItemTemplate>
  <ItemStyle HorizontalAlign="Justify" VerticalAlign="Middle"></ItemStyle>
</asp:TemplateField>



问候



Regards,


在您的gridview的HTML标记中,尝试将Image URL替换为以下内容:

In your HTML markup of the gridview, try replacing Image URL with below:

ImageUrl='<%# Eval("ID", "Handler.ashx?ID={0}")%>'



有关更多信息,请查看以下URL:
display-images-gridview-from-database [ ^ ]



For more information, please look into below URL:
display-images-gridview-from-database[^]


这篇关于从数据库显示图像到gridview的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆