2012-02-20 6 views
0

img 제어로 이미지를 표시하고 싶습니다.img ASP 컨트롤에서 이미지를 표시하는 방법은 무엇입니까?

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이 클래스입니다.

나는 이미지를 표시하려고하지만 난 어떻게 해결하는 어떤 생각을 오류 얻을?

미리 감사드립니다.

+0

그 용도는 무엇입니까? 리피터, gridview? 뭐 ? – Aristos

답변

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 통해) 데이터 컨테이너 포함하는 경우 -이 하나가되지 않습니다.

+0

Rick.But 감사합니다. 왜 내 접근 방식이 잘못 되었습니까? 왜 단일 이미지를 제어 할 수 있습니까? – Michael

+0

답변이 업데이트되었습니다. – RickNZ

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

Eval 식은 Item.SmallPicPath가 아닐 수 있습니다. 데이터 객체의 유형이 Glass이고이 유형이 SmallPicPath 속성 인 경우 Eval ("SmallPicPath")을 사용합니다.

관련 문제