2012-07-16 2 views
1

ListView 컨트롤러의 Item Template 내에 이미지 태그가 포함 된 선을 인쇄하려고합니다. 나는 여러 가지 방법으로 성공을 거듭 시도했다.ListView 여러 변수가있는 항목 템플릿을 평가하는 중

<ItemTemplate> 
    <tr id="itemTemplate" runat="server"> 
    <td> 
     <asp:Literal ID="litImg" runat="server" Text='<%= "<img src="" & PathtoImg & "ProcessImage.aspx?Img=" & Eval("Img") & "&amp;PID="Resize"" alt=""ProductID"" />")))) %>' /> 
    </td> 
    <td> 
     <asp:Literal ID="litID" runat="server" Text='<%# Eval("Department") %>' /> 
    </td> 
    </tr> 
</ItemTemplate> 

첫 번째 평가판은 작동하지 않으며 클러스터의 일부입니다. 이 오류는 없지만

를 표시하고 오류를 같은 평가 등

"데이터 바인딩 방법을 제공으로 분명히이

<img src="<%= PathtoImg %>ProcessImage.aspx?Img=<%= Eval("Img")%>&amp;PID=Resize" alt="ProductID" /> 

작동하지 않습니다(), XPath() 및 Bind()는 데이터 바인딩 된 컨트롤의 컨텍스트에서 사용되는 경우에만 이 될 수 있습니다. "

이것은 처음 Listview를 사용하기 때문에 이러한 템플릿에 익숙하지 않습니다. 이미지 태그의 src 내에 서버 변수가있는 데이터 항목을 표시하고 싶습니다. 가능합니까?

답변

0

사용하는 기능 또는 RUNAT = "서버"코드 뒤에 HTML 컨트롤 :

마크 업 :

<ItemTemplate> 
    <tr id="itemTemplate" runat="server"> 
    <td> 
     <asp:Image id="Image1" runat="server" 
        ImageUrl="<% GetImageUrl(Eval("Img"), PathToImg))%>"/> 
    </td> 
    </tr> 
</ItemTemplate> 

코드 숨김

protected string GetImageUrl(object img, string pathToImg) 
{ 
    //example business logic, change for your needs 
    //build your url etc.... 
    string imgPathFromDb = (string)img; 

    return PathToImg + imgPathFromDb; 

} 

기타 옵션 :

<img runat="server" src="<%# PathtoImg %>ProcessImage.aspx?Img=<%# Eval("Img")%>&amp;PID=Resize" alt="ProductID" /> 
+0

한숨 ... 그렇게 쉽지 않다고 말해주세요. 이것을 시험해보기 위해 꺼져있다. 그리고 그것이 효과가 있으면 나는 당신에게 알릴 것이다. –

+0

가끔은 꽤 두껍습니다.하지만 마침내 그 일을하게되었습니다. 기본적으로 코드 비하인드에서 전체 이미지 태그를 만들고 이렇게 호출했습니다. ", false) });