2012-12-31 3 views
0

서점 웹 ​​사이트를 만들고 있습니다. 저는 Visual Studio 2010과 MS SQL Database를 사용합니다. 나는 책에 관한 이미지를 가지고있다. 데이터베이스에 서적 테이블이 있고이 테이블에 이미지 열이 있습니다.DataList 템플릿 항목에서 System.Drawing.Image를 System.ui.WebControls.Image로 설정하는 방법

데이터베이스에 이러한 이미지를 (바이트 배열 형식으로) 저장했습니다.

Windows Form 응용 프로그램에서 테스트했는데 문제가 없습니다. 데이터베이스에서 이미지를 검색하고 저장할 수 있습니다. 데이터베이스에서 검색하면 Book 클래스의 System.Drawing.Image 형식으로 저장됩니다.

public Book 
    { 
      private int id; 
      private System.Drawing.Image image; 
      // name and other .. informations, constructor, get and set methods; 
    } 

    public BookLayer 
    { 
      // after call this method i can get all informations from database 
      public static List<Book> getBooks() 
      { 
      } 
    } 

저는 Asp.net 4 Web Project에서 objectdatasource와 함께 datalist를 사용합니다. 나는 objectdatasource에 Book과 BookLayer 클래스를 썼다. 이미지를 제외한 데이터리스트에 모든 정보를 표시 할 수 있습니다. 이미지는 Book 클래스의 System.Drawing.Image이지만 이미지는 데이터 목록 템플릿 항목의 System.ui.WebControls.Image입니다. 형식이 다릅니다. 내가 어떻게 할 수 있니? 그렇게 잘못 됐어? Pls 나에게 어떤 조언을 제공합니다.

+0

사용할 수

<ItemTemplate> <img border="2" width="150px" src="../images/loading.gif" onload="getpic(this,'<%# Eval("bkid")%>');"/> </ItemTemplate> 

이 getimage.ashx에 다음과 같은 자바 스크립트 기능 getpic (IMG, PID) {

try { img.onload = null; img.src = '../Getimage.ashx?id=' + pid; } catch (e) { alert(e); } } </script> 

를 사용하는 템플릿 필드를 추가로 당신은 할 수있다 이미지를 표시하는 처리기 (.ashx) –

+1

질문 [이전] (http://stackoverflow.com/questions/1357826/converting-system-web-ui-webcontrols-image-to-system-drawing-image)와 질문했습니다. 쇼 이미지 리소스를 HTML 컨트롤로 변환하려고하므로 System.Drawing.Image에서 WebControls.Image로 변환 할 수 없습니다. 가장 좋은 방법은 데이터베이스에서 이미지 정보를 검색하는로드 루틴을 작성하여 여기에 명시된대로 애플리케이션에서 사용하는 것입니다. (http://forums.asp.net/t/1767962.aspx/1) – SaschaM78

답변

0

예 사용 핸들러.

byte[] imageBytes = ;// ToDOget your byte 
      Bitmap newBmp = ConvertToBitmap(imageBytes); 
      if (newBmp != null) 
      { 
       newBmp.Save(context.Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg); 
       newBmp.Dispose(); 
      } 
+0

SaschaM78, ​​나는 당신의 충고를 따랐고 나는이 사이트 http://csharpdotnetfreak.blogspot.com/2009/07/display-images-gridview-from-database.html에 묘사 된대로 핸들러를 사용했다. –