还有那个图片在我的工程里面。工程路径是D:\Documents and Settings\IT-03 (Cao)\My Documents\Visual Studio 2005\WebSites\WebSite25 而我的图片在这个工程的UpdateLoadFiles\UpdateLoadFiles的文件夹里面 数据库里面的路径保存的是\UpLoadFiles\070920_042427_01.gif 请高手在帮忙看一下,我对这种操作不是很熟悉,刚接手别人做的项目。
图片完整路径D:\Documents and Settings\IT-03 (Cao)\My Documents\Visual Studio 2005\WebSites\WebSite25\UpLoadFiles\UpLoadFiles\070920_013348_43.gif 工程路径是D:\Documents and Settings\IT-03 (Cao)\My Documents\Visual Studio 2005\WebSites\WebSite25 数据库中保存的路径是 \UpLoadFiles\070920_013348_43.gif
工程路径是D:\Documents and Settings\IT-03 (Cao)\My Documents\Visual Studio 2005\WebSites\WebSite25 换成你要显示图片的那个页面路径贴出来```
以前数据库里面的字段值是ProductImg,我改称Img后说无效的的ProductImg列名
是不是你这个地方没绑定啊。
而我的图片在这个工程的UpdateLoadFiles\UpdateLoadFiles的文件夹里面
数据库里面的路径保存的是\UpLoadFiles\070920_042427_01.gif
请高手在帮忙看一下,我对这种操作不是很熟悉,刚接手别人做的项目。
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input type="checkbox" id="SALL" runat=server onclick='selectAll("CkStatus");' />
</HeaderTemplate>
<ItemTemplate>
<div style="text-align:center">
<table border="0" cellpadding="0" cellspacing="0" style="width:1px;height:30px" id="TABLE1">
<tr>
<td>
<asp:CheckBox ID="CkStatus" runat=server Height="9px" />
<asp:Label ID="ID" runat=server Text='<%#Eval("ID") %>' Visible=false></asp:Label>
</td>
</tr>
</table>
</div>
</ItemTemplate>
<HeaderStyle Width="5%" />
</asp:TemplateField>
<asp:HyperLinkField HeaderText="名称" DataNavigateUrlFields="id" DataTextField="txt" DataNavigateUrlFormatString="../Product.aspx?id={0}" />
<asp:TemplateField HeaderText="图片">
<ItemTemplate>
<img src='<%# DataBinder.Eval(Container.DataItem, "ProductImg")%>' border="0" width="80px" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Type" HeaderText="分类" />
<asp:BoundField DataField="ViewTimes" HeaderText="浏览次数" />
<asp:BoundField DataField="PublicDate" HeaderText="发布日期" />
</Columns>
</asp:GridView>
以前数据库里面的字段值是ProductImg,我改称Img后说无效的的ProductImg列名
---------------------------------------------------------------
报这个错误是为因你绑定数据源的查询语句中有ProductImg字段,而你实际更改以后没有了不用再去更改数据库,直接根据你的数据库字段进行更改绑定列名就好了
恩 您说的对。
工程路径是D:\Documents and Settings\IT-03 (Cao)\My Documents\Visual Studio 2005\WebSites\WebSite25
数据库中保存的路径是
\UpLoadFiles\070920_013348_43.gif
换成你要显示图片的那个页面路径贴出来```
<asp:TemplateField HeaderText="图片">
<ItemTemplate>
<img src='<%#".."+ Eval("Img")%>' border="0" width="80px" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Type" HeaderText="分类" />
<asp:BoundField DataField="ViewTimes" HeaderText="浏览次数" />
<asp:BoundField DataField="PublicDate" HeaderText="发布日期" />
这是那段代码觉得哪里绑定的不妥
---------------------------------
这是一种自定义绑定的写法,代表的是绑定 Runat="Server"的脚本代码中(代码分离时则表示源代码中)的定义的一个名为 img 的全局变量的值。
如代码中定义 protected string img = "";
<%# DataBinder.Eval(Container.DataItem, "img")%>//img为绑定到数据库的 字段
图片 显示不出来 那就要看 你的 数据库 字段是怎么定义的啦
如果 你的img 字段 定义了一个图片的完整路径 如:pic/0015.jpg 那么上面的图片就可以显示出来,
如果img 字段里直接是这样写的 如: 0015.jpg 那么绑定 就应该这样写:
< img src='pic/<%#Eval("img")%>' />
<%@ Page language="c#" Codebehind="XXX.aspx.cs" AutoEventWireup="false" Inherits="XXX" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<html>
<head>
<title>XXX</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
</head>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
</form>
</body>
</html>private void Page_Load(object sender, System.EventArgs e)
{
string FKeyStr=Request.QueryString["teaid"].Trim();
string strsql="SELECT * FROM tbTeaInfo WHERE fdTeaID="+FKeyStr;
//SqlConnection sqlcn=new SqlConnection(this.strcon);
//SqlCommand sqlcmd=new SqlCommand(strsql,sqlcn);
//sqlcn.Open();
Dba dbo=new Dba();
try
{
//SqlDataReader dr =sqlcmd.ExecuteReader();
dbo.GetReader(strsql);
//dbo.GetReader(strsql);
if(dbo.sdr.Read())
{
string hp=dbo.sdr["fdHavePic"].ToString().Trim();
if(hp=="True")
{
Response.Clear(); //System.IO.MemoryStream memStream = new System.IO.MemoryStream((byte[])dr["fdMyFile"]); Response.Buffer = true;
Response.ContentType = dbo.sdr["fdTeaPicType"].ToString();
///这里下载输出的文件名字 ok.jpg 为例子,你实际中可以根据情况动态决定。
//Response.AddHeader("Content-Disposition","attachment;filename="+ dr["fdMyFileName"]);
Response.BinaryWrite((byte[])dbo.sdr["fdPhoto"]);
Response.End();
}
else
{
Response.Write("没有相关图片!");
}
}
else
{
Response.Write("没有找到相关图片!");
} dbo.sdr.Close();
}
catch(Exception ex)
{
Response.Write("显示图片错误!信息:"+ex.Message.ToString());
}
finally
{
dbo.CloseReader();
}
}看看这个吧,我自己用的数据库存取图片的
用下面的
<IMG src='<%# DataBinder.Eval(Container.DataItem, "img")%>'>
发现和其他版本的编译器不太一样
我用../UpLoadFiles/a.jpg怎么试都不行,把htm和饱含a.jpg的文件夹l放到一起手工操作都不行。埃
你要是绑定到服务器端的img就没有问题,但是当你取出直接帮到html的img下路径就不对了.
你可以看一下预览以后的html代码就知道问题出在哪了
在绑定字段前加一个/,路径就应该就对了