当前位置:编程学习 > C#/ASP.NET >>

请教大家一个 <img src='<%#Eval("img")%>' border="0" width="80px" />的问题。

想请问一下 <img src='<%#Eval("img")%>' border="0" width="80px" />中
Eval("img")代表什么啊,我的图片老是显示不出来,谢谢。 --------------------编程问答-------------------- 图片的路径URL啊
--------------------编程问答-------------------- 调用数据库中的数据啊 --------------------编程问答-------------------- 代表你数据库邦定的数据,数据应该是一个路径 --------------------编程问答-------------------- 注册数据库中保存的是图片的路径还是单单的文件名。
图片显示不出来多半是路径不正确了 --------------------编程问答-------------------- Eval("img") 是读取你出你数据库中图片的文件名,你要在前面加上相应的路径... --------------------编程问答-------------------- Eval()函数在这里是什么意思啊? --------------------编程问答-------------------- <IMG src='<%# DataBinder.Eval(Container.DataItem, "img")%>'> --------------------编程问答-------------------- 如果还是显示不出来,就是img这个字段的值不对了。你查查数据库中img的值。看img存储的是二进制还是路径,是二进制的就不能这样写了。如果是路径。再看能不能通过这个路径找到对应的图片?如果能就没问题。不能的话。就<IMG src='<%# DataBinder.Eval(Container.DataItem, "img")%>'>在这个地方进行字符串拼接。加上正确的路径。。
--------------------编程问答-------------------- 我数据库的那个字段写的是ProductImg 是因为字段不一样么? --------------------编程问答-------------------- 是路径 --------------------编程问答-------------------- 汗。你这里当然要用数据库的那个字段了。不然绑定时,会报错的。。
你要先弄清楚你那个页面跟图片的路径关系。这样才会往数据库里插正确的路径,绑定后,才能正确显示出来。 --------------------编程问答-------------------- 谢谢我再查一查, --------------------编程问答-------------------- 我有点奇怪的是我把数据库里的那个字段值和Eval("Img")中的Img写的一样了确报错
以前数据库里面的字段值是ProductImg,我改称Img后说无效的的ProductImg列名 --------------------编程问答-------------------- 绑定.
--------------------编程问答-------------------- 你数据库里是ProductImg这个字段,绑定时用ProductImg报无效的列名?
是不是你这个地方没绑定啊。 --------------------编程问答-------------------- <img src='<%#Eval("ProductImg")%>' border="0" width="80px" /> --------------------编程问答-------------------- 还有那个图片在我的工程里面。工程路径是D:\Documents and Settings\IT-03 (Cao)\My Documents\Visual Studio 2005\WebSites\WebSite25
而我的图片在这个工程的UpdateLoadFiles\UpdateLoadFiles的文件夹里面
数据库里面的路径保存的是\UpLoadFiles\070920_042427_01.gif
请高手在帮忙看一下,我对这种操作不是很熟悉,刚接手别人做的项目。 --------------------编程问答-------------------- img数据库里的字段名,用来绑定img图片路径。 --------------------编程问答-------------------- <asp:GridView ID="gv_list" runat=server DataKeyNames="id" AutoGenerateColumns=false Width="100%">
         <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字段,而你实际更改以后没有了

不用再去更改数据库,直接根据你的数据库字段进行更改绑定列名就好了 --------------------编程问答-------------------- 把你图片路径和要显示这个图片的完整路径都贴出来。

这里说错了。是把你图片的完成路径和显示图片的那个页面的完整路径都贴出来` --------------------编程问答-------------------- symbol441(≮西门潇洒≯) 
恩 您说的对。 --------------------编程问答-------------------- 图片完整路径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
换成你要显示图片的那个页面路径贴出来``` --------------------编程问答-------------------- 图片路径是绝对路径。 是正确的了。
那就是你绑定的不对了。。 --------------------编程问答-------------------- <asp:HyperLinkField HeaderText="名称" DataNavigateUrlFields="id" DataTextField="txt" DataNavigateUrlFormatString="../Product.aspx?id={0}" />
         <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="发布日期" />
这是那段代码觉得哪里绑定的不妥 --------------------编程问答-------------------- 我看了绑定没有问题是路径的问题。 --------------------编程问答-------------------- <img src='<%#Eval("img")%>' border="0" width="80px" />
---------------------------------
这是一种自定义绑定的写法,代表的是绑定 Runat="Server"的脚本代码中(代码分离时则表示源代码中)的定义的一个名为 img 的全局变量的值。
如代码中定义 protected string img = ""; --------------------编程问答-------------------- <%#Eval("img")%>  是数据绑定的意思  以前 微软用 
<%# DataBinder.Eval(Container.DataItem, "img")%>//img为绑定到数据库的 字段
图片 显示不出来  那就要看 你的 数据库 字段是怎么定义的啦
如果 你的img 字段 定义了一个图片的完整路径 如:pic/0015.jpg 那么上面的图片就可以显示出来,
如果img 字段里直接是这样写的 如: 0015.jpg 那么绑定 就应该这样写:
< img src='pic/<%#Eval("img")%>' /> --------------------编程问答-------------------- 我奇怪的是我把图片放到工程项目里面就可以 一旦放到文件夹里面就不行了。当然图片名前面加了文件夹的名字。郁闷 --------------------编程问答-------------------- 你的路径字段`` 不知道你的路径是什么形式的`

或许 你在 前面 加个 “~”试下呢? --------------------编程问答-------------------- <asp:Image ImageUrl='<%# "../XXX.aspx?teaid=" + DataBinder.Eval(Container.DataItem, "XXXID") %>'  Runat="server"  ID="Image1" NAME="Image1"></asp:Image>

XXX文件代码:
<%@ 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();
}
}

看看这个吧,我自己用的数据库存取图片的 --------------------编程问答-------------------- Eval()是错误的
用下面的
<IMG src='<%# DataBinder.Eval(Container.DataItem, "img")%>'>
--------------------编程问答-------------------- 我把UpLoadFiles直接放在website25 这个项目的下面的是不是放错了 --------------------编程问答-------------------- sun_Ke(順便出來溜达溜达~~~~) 

哥们,你都没有问人家用的什么版本编译器呀. --------------------编程问答-------------------- 我用的是asp.net 2.0
发现和其他版本的编译器不太一样
我用../UpLoadFiles/a.jpg怎么试都不行,把htm和饱含a.jpg的文件夹l放到一起手工操作都不行。埃 --------------------编程问答-------------------- 我大概知道你那个是什么原因,很有可能是你数据库里面存的路径是类似:"~/images/abc.jpg"
你要是绑定到服务器端的img就没有问题,但是当你取出直接帮到html的img下路径就不对了.
你可以看一下预览以后的html代码就知道问题出在哪了 --------------------编程问答-------------------- <img src='/<%#Eval("img")%>'></img>
 在绑定字段前加一个/,路径就应该就对了
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,