我在asp.net中使用ListView。我从提供者表中获取数据。根据providerId图像存储在同一文件夹中(如1.jpg,2.jpg
)。
我想根据providerID显示图像。
但是Image没有显示出来。但是当我使用简单的html img控件时,图像就会显示出来。
我该怎么做才能在ImageButton中显示图像。
<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 :(得分: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