如何在asp.net中没有图像时使图像框不可见

时间:2010-11-24 13:33:25

标签: c# asp.net image controls

我正在使用webservice将图像从数据库加载到imagebox。 如果数据库没有任何图像,则显示带有无图像pic的图像框。但是我想让图像框在没有图像时不可见

以下是我用来加载图片的代码

MyImg.ImageUrl = @"~/ShowImage.ashx?id=" + MyID;

提前感谢您的回复..

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

if (DoesImageExist(MyID)) {
    MyImg.ImageUrl = @"~/ShowImage.ashx?id=" + MyID;
    // Just in case we hid the image during the previous request
    // and ViewState is enabled:
    MyImg.Visible = true;
} else {
    MyImg.Visible = false;
}

答案 1 :(得分:0)

当你的处理程序被调用时,让控件不可见为时已晚。

然而,您可以做什么(当数据库没有返回图像时)然后返回一些固定的单个白色(或透明)像素图像。 <img>标记仍在页面上,但用户未看到“图片不可用”错误。

唯一的另一种方法是在渲染控件时检查数据是否可用(不需要获取完整的图像,只需它就在那里),这样就可以在没有图像时使其不可见。