2011-07-05 36 views
1

我在asp.net使用的ListView。我從提供者表中獲取數據。根據providerId圖像存儲在相同的文件夾(如1.jpg,2.jpg)。 我想根據providerID顯示圖像。 但未顯示圖像。但是當我使用簡單的HTML IMG控制,然後圖像顯示。 我應該怎麼做在ImageButton中顯示圖像。圖像不是ImageButton的asp.net

<asp:ListView DataSourceID="ObjectDataSource1" ItemPlaceholderID="dd" ID="ddlprovider" 
runat="server"> 

     <LayoutTemplate> 
      <ul> 
       <asp:PlaceHolder ID="dd" runat="server"/> 
      </ul> 
     </LayoutTemplate> 
     <ItemTemplate> 
      <asp:ImageButton runat="server" ImageUrl='<%#Eval("ProviderID") %>.jpg' ID="imgButton" />//Not work 
      <asp:LinkButton runat="server" CommandArgument='<%#Eval("ProviderID") %>'/> 
     </ItemTemplate> 
    </asp:ListView> 
    <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
     DeleteMethod="Delete" InsertMethod="Insert" 
     OldValuesParameterFormatString="original_{0}" SelectMethod="FetchAll" 
     TypeName="mogile.MidTier.DAL.ProviderController" UpdateMethod="Update"> 
    </asp:ObjectDataSource> 
+0

你能提供更多的代碼嗎?似乎你所發佈的內容不完整。 –

+0

該圖像的生成路徑是什麼?在瀏覽器的頁面上執行「查看源代碼」。這與你的簡單html有什麼不同?這可能會給你一些提示。 –

回答

3

您不應該在類似結尾的字符串中放置代碼中斷。

嘗試改變的代碼行:

<asp:ImageButton runat="server" ImageUrl='<%# string.format("{0}.jpg", Eval("ProviderID")) %>' ID="imgButton" /> 

編輯: 如果你想,如果這一個不存在顯示的默認圖像,您需要修改代碼:

<asp:ImageButton runat="server" ImageUrl='<%# GetImageURL(Eval("ProviderID")) %>' ID="imgButton" /> 

Function GetImageURL(ProviderID as Integer) as String 
    Dim ImageFileName as string = string.format("[image path here]/{0}", ProviderID) 
    If Not File.Exists(server.mappath(imagefilename)) then imagefilename = "[default image path here] 
    Return ImageFileName 
End Function 
+1

你可以把格式EVAL:<%#的eval( 「ProviderID」, 「{0} .JPG」)%> – onof

+0

呀那只是很短的手的方式,我相信?無論哪種方式,我認爲網頁實際上是渲染「<%#的eval(」 ProviderID「)%>。JPG」,這顯然不是一個真正的文件路徑 – Curt

+0

也請您幫助,如果沒有找到圖像根據providerid然後我如何使用默認圖片。 –