0

Eval と Bind のどちらを使用するべきか混乱しています。この件に関する多くの回答を読みましたが、私の特定の状況ではないようです。このリンクの答えはうまくいくはずでしたが、うまくいきませんでした

サーバーフローダーからグリッドビューに画像を表示するには?

これは私が最初に試したもので、エラーは発生しませんが、画像がグリッドに表示されません。

    <asp:TemplateField HeaderText="Image" SortExpression="Image" HeaderStyle-Width="250" >
      <ItemTemplate>
        <asp:Image runat="server" ID="imagePreview"  Width="200" ImageUrl='~/ProductImages/ <%# Bind("Filename") %>' />
      </ItemTemplate>
    </asp:TemplateField>

次に、上記のリンクの提案に従って、 asp:image タグを次のように再コーディングしようとしました

<asp:Image runat="server" ID="imagePreview" Width="200" ImageUrl="<%# Page.ResolveClientUrl(String.Format("~/ProductImages/{0}",Eval("Filename"))) %>" />

しかし、これは私に

「サーバータグの形式が正しくありません」

エラー。

代わりにタグを使用するという提案も試みましたが、そのアプローチも機能しませんでした。

コード ビハインド ファイルで画像の URL を設定せずに asp:image タグを使用してこれを行うことは可能ですか、それとも img タグを使用する必要がありますか?

ありがとう

4

1 に答える 1

1

画像の URL を lyk this に渡します....

ImageUrl='<%# "~/ProductImages/"+Eval("Filename").ToString() %>' 
于 2013-04-06T19:47:46.510 に答える