Как сделать так, чтобы изображение было невидимым, если на нем нет изображения в asp.net - PullRequest
2 голосов
/ 24 ноября 2010

Я использую веб-сервис для загрузки изображения в базу изображений из базы данных. Если в БД нет изображения, оно показывает поле изображения с изображением без изображения. Но я хочу, чтобы поле изображения не было видно, когда у него нет изображения

Ниже приведен код, который я использовал для загрузки изображения

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

Заранее спасибо за ваши ответы ..

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Вы можете сделать что-то вроде:

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;
}
0 голосов
/ 24 ноября 2010

Когда вызывается ваш обработчик, уже слишком поздно делать элемент управления невидимым.

Однако вы можете (когда база данных не возвращает изображение) вернуть некоторое фиксированное одно-белое (или прозрачное) пиксельное изображение. Тег <img> все еще находится на странице, но пользователь не видит ошибку «изображение недоступно».

Единственный другой способ - проверить, доступны ли данные (не нужно получать полное изображение, просто они там есть), когда вы визуализируете элемент управления, чтобы вы могли сделать его невидимым, когда изображение отсутствует.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...