如何在img ASP控件中显示图像?

时间:2012-02-20 11:30:37

标签: asp.net

我想在img控件中显示图像。

Asp代码:

<asp:Image id="id" src='<%# Eval("Item.SmallPicPath") %>' Runat="Server" >

C#代码:

      public void Page_Load(Object sender, EventArgs e) 
{ 
   Glasses item=GetItemByID(GlassesID)    //retrive record from data base
} 

眼镜是一个具有属性SmallPicPath的类。

我尝试显示图片,但我知道如何解决它的错误?

提前谢谢!

2 个答案:

答案 0 :(得分:2)

您尝试使用的方法基于数​​据绑定,这通常对单个图像不利。

相反,尝试这样的标记:

<asp:Image id="MyImageId" runat="server">

然后,在你的代码背后:

public void Page_Load(Object sender, EventArgs e) 
{ 
    Glasses item = GetItemByID(GlassesID);    //retrive record from data base
    this.MyImageId.ImageUrl = item.SmallPicPath;
}

如果你仍然想出于某些原因使用数据绑定,那么这样的事情应该有效(尽管与其他方法相比有性能成本):

<asp:Image id="MyImageId" runat="server" ImageUrl="<%# item.SmallPicPath %>">

代码隐藏:

public Glasses item;

public void Page_Load(Object sender, EventArgs e) 
{ 
    this.item = GetItemByID(GlassesID);    //retrive record from data base
    this.MyImageId.DataBind();
}

数据绑定是一项可选操作;你需要在控件(或其父级)上调用DataBind()来实现它。

在涉及数据容器(通常通过DataSource)的情况下,您只需要“Eval()” - 这不是。

答案 1 :(得分:0)

<asp:Image id="id" ImageUrl='<%# Eval("Item.SmallPicPath") %>' Runat="Server" >

Eval表达式可能不是Item.SmallPicPath。如果您的数据对象是 Glass 的类型,并且此类型具有SmallPicPath属性,则使用Eval(“SmallPicPath”)。