Изображение не в ImageButton asp.net - PullRequest
1 голос
/ 05 июля 2011

Я использую ListView в asp.net.Я получаю данные из таблицы провайдеров.По словам провайдера, изображение хранится в той же папке (например, 1.jpg,2.jpg).Я хочу отобразить изображение в соответствии с providerID.Но изображение не отображается.но когда я использую простой 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 Ответ

3 голосов
/ 05 июля 2011

Вы не должны ставить разрывы кода в атрибуте со строкой в ​​конце, как этот.

Попробуйте изменить строку кода на:

<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
...