2010-02-13 5 views
1

여기에 빠른 질문이 있습니다. 나는 그것이 가능하다고 확신합니다. 단지 작동시키지 못합니다. gridview가 있습니다. 있음 있음을 gridview 있습니다. gridview 내 사용자 지정 클래스 목록에 바인딩되어 있습니다. 이 클래스는 이미지에 대한 링크와 이미지의 높이 및 너비를 노출합니다. gridview에 이미지 컨트롤이 있습니다. 이미지 URL을 올바른 속성에 바인딩했습니다. 이제 높이와 너비 속성을 바인딩하고 싶습니다. 그러나 매번 나는 다음과 같은 오류가 그렇게 :서버 측에서 바인딩 int 값 - asp.net

<asp:Image runat="server" ID="imgProduct" ImageUrl='<%#Bind("ImageUrl")%>' 
    Height="<%#Bind("GetImageHeight()")%>" Width="<%#Bind("GetImageWidth()")%>"> 
</asp:Image> 

그래서, 짧은 ... 어떻게 문자열이있는 속성을 바인딩 :

여기

Cannot create an object of type 'System.Web.UI.WebControls.Unit' from its string representation '"<%#Bind("GetImageHeight()")%' for the 'Height' property.

태그의 예입니다? 방법 GetImageHeight 및 GetImageWidth의

샘플 :

public Unit GetImageHeight() 
    { 
     Unit u = new Unit(Convert.ToString(ImageHeight) + "px"); 
     return u; 
    } 

    public Unit GetImageWidth() 
    { 
     Unit u = new Unit(Convert.ToString(ImageWidth) + "px"); 
     return u; 
    } 
+0

바인딩이 잘못되었습니다. 내 편집 된 답변을 확인하십시오 –

답변

0

당신이 당신의 GetImageHeight을 변경할 수/폭() 메소드가 Unit를 반환?

1

DOH! 나는 ..

Height="<%#Bind("GetImageHeight()")%>" 

Height="<%#Bind(GetImageHeight())%>" 

과 같아야하고 int를 반환하는 것은 잘 작동합니다 당신이

바인딩에서 따옴표를 삭제하려고 주위 처음 놓쳤다. 방법에있는 모든 바쁜 일을위한 필요 없음.

내가 틀릴 수도 ...

이 내 말에 작동
+0

단위를 반환하지만 여전히 작동하지 않습니다 ... – vondip

0

, 그것에게 탄 부여하십시오 : .cs에서

<asp:Image runat="server" ID="imgProduct" ImageUrl='test.jpg' 
Height='<%# GetImageHeight() %>' Width='<%# GetImageWidth() %>' /> 

:

protected int GetImageHeight() 
{ 
    return 5; 
} 
protected int GetImageWidth() 
{ 
    return 5; 
} 

을이 렌더링 :

<img id="imgProduct" src="test.jpg" style="height:5px;width:5px;border-width:0px;" /> 
+0

하지만 밑줄이 그어진 개체에 바인딩되어 있지 않습니다. 나는 그것을 묶어 두어야 할 필요가있다. 그 물체는 그 정보를 가지고있다. 페이지가 아닙니다 ... 고맙습니다 ... – vondip

관련 문제