**在vs05 C#asp.net上工作。**我的SQL语法是:****
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Images]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Images]
GO
CREATE TABLE [dbo].[Images] (
[ID] [numeric](18, 0) IDENTITY (1, 1) NOT NULL ,
[ImageName] [varchar] (50) COLLATE SQL_Latin1_General_CP1_CI_AS NULL ,
[Image] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
我想在网格视图中显示此图像表值.....我这样做...但图像值无法显示.... grid.net的asp.net语法是
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="ImageName" HeaderText="ImageName" />
<asp:TemplateField HeaderText="Image">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("Image") %>'></asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Image ID="Image1" runat="server" ImageUrl='<%# Eval("Image") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我在 pageload 事件中编写以下代码。我希望图像表格值必须在页面加载时显示...
string strSQL = "Select * From Images";
DataTable dt = clsDB.getDataTable(strSQL);
this.GridView2.DataSource = dt;
this.GridView2.DataBind();
为什么我没有在gridview的image列上获取图像.....问题是如何解决?
答案 0 :(得分:0)
您无法在ASP.NET服务器控件中使用<%# Eval("Image") %>
语法。我建议你改用普通的<img>
。像这样:<img src='<%# Eval("Image") %>' />
。
查看此this article from 4 Guys From Rolla,它处理在SQL Server数据库中处理存储为blob的图像。特别是“显示二进制内容”部分与您的案例特别相关。或者这个非常类似的SO问题,What’s the best way to display an image from a sql server database in asp.net?
答案 1 :(得分:0)
使用处理程序在Gridview中显示图像。这是从数据库显示图像的简单常用方法。