0

データベース クエリがリピーターに挿入されます。フィールドの 1 つはイメージです。一部のデータ行のみに画像があるため、画像がある場合は正常に機能しますが、データベースに画像がない場合は、画像があるべき場所に空白の場所が表示されます。データベースに画像がない場合、その空白の画像がレンダリングされないようにしたい。どうすればいいですか?一部の行にはイメージがあり、一部の行にはありません。すべての行を表示したいが、画像がないところに空白の画像を表示させたくない

asp:Repeater id="cdcatalog" runat="server" onitemcreated="cdcatalog_ItemCreated" onitemcommand="cdcatalog_ItemCommand">

            <ItemTemplate>
  <    img src='<%# "/contents/thumbs/" + Eval("ThumbName")%>' width="375px"   height="200px"        
</ItemTemplate>

</asp:Repeater>

Page Load:
Dim cmd As New SqlCommand("SELECT * From Video", con)
        Dim ds = New DataSet()
        Dim da = New SqlDataAdapter(cmd)
        da.Fill(ds)

        cdcatalog.DataSource = ds
        cdcatalog.DataBind()
4

2 に答える 2

0

コードビハインドから関数を呼び出すようにaspxイメージタグを変更してください。これを試してください

 <img src='<%# "/contents/thumbs/" + Eval("ThumbName")%>' 
  width="375px"   height="200px" visible='<%# ShowImage(Eval("ThumbName"))%>'

コードビハインド

Protected Function ShowImage(name As Object) As [boolean]
If name IsNot Nothing Then
    Return name.ToString().Trim().Length > 0
End If
Return False
End Function
于 2013-05-08T02:03:46.877 に答える