如果数据库中的图像字段设置为null,如何隐藏包含在Repeater中的asp:图像

本文关键字:图像 包含 隐藏 Repeater asp 中的 字段 数据库 设置 如果 null | 更新日期: 2023-09-27 18:14:19

我在asp:Repeater中有一个asp:Image控件。图像通过图像处理程序显示,该处理程序从数据库(BLOB)检索图像,并使用查询字符串选择显示哪个图像。

这个方法可以很好地工作,但是当图像没有显示时,Internet Explorer中会出现一个红色的十字。考虑到中继器架构,当asp:映像不可用时,我该如何隐藏它呢?

<asp:Image ID="image" runat="server" ImageUrl='<%# "~/Handler.ashx?id=" + Eval("ID")%>'/>

如果数据库中的图像字段设置为null,如何隐藏包含在Repeater中的asp:图像

自从我做webforms已经有一段时间了,但是如果我没记错的话,你需要在ItemDataBound回调中这样做。

在回调中,您可以按照以下代码行执行操作。注意,这是未经测试的,只是我的头,但应该让你在正确的轨道上。

RepeaterItem ri = e.Item;
var image = ri.FindControl("image") as Image;
if (image != null){
    bool isUrlValid = ....;// your check here
    image.Visible = isUrlValid
}