2010-11-24 3 views
2

webservice를 사용하여 데이터베이스에서 imagebox로 이미지를로드하고 있습니다. DB에 이미지가없는 이미지 상자가 표시됩니다.하지만 이미지가 없으면 이미지 상자를 보이지 않게하고 싶습니다.imagebox가 asp.net에 이미지가없는 경우 보이지 않게하는 방법

다음은로드하는 데 사용한 코드입니다. 이미지 당신의 답변에 미리

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

감사합니다 ..

답변

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; 
} 
+0

하지만 MyID는 웹 서비스에 대한 쿼리 문자열 값으로 전달하는 사용자 ID입니다. 웹 서비스 – Dhamu

+0

@Dhamu에서 반환 된 null 값에 대해 이야기하고 있으므로 이미지가 존재하는지 여부를 어떻게 알 수 있습니까? 당신의'ShowImage.ashx' 핸들러는이 경우'404'를 리턴합니까? –

+0

아니요. 이미지가 없으면 null 값입니다. – Dhamu

0

, 그것은 엄마에 너무 늦었을 컨트롤은 보이지 않습니다.

그러나 (데이터베이스가 이미지를 반환하지 않을 때) 수행 할 수있는 작업은 고정 된 단일 흰색 (또는 투명) 픽셀 이미지를 반환하는 것입니다. <img> 태그는 여전히 페이지에 있지만 사용자는 "이미지를 사용할 수 없음"오류가 표시되지 않습니다.

유일한 다른 방법은 컨트롤을 렌더링 할 때 데이터가 사용 가능한지 (전체 이미지를 가져올 필요가 없으며 그 이미지가있을뿐) 있는지 확인하여 이미지가 없을 때 보이지 않게 할 수 있습니다.

+0

아이디어 감사합니다 .. – Dhamu

관련 문제