图像不在ImageButton asp.net中

时间:2011-07-05 10:39:27

标签: asp.net listview imagebutton

我在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>

1 个答案:

答案 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