从数据库显示图像到gridview [英] Displaying Image from database to gridview
本文介绍了从数据库显示图像到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屋!
查看全文