ASP.NET 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : 데이타 리스트 이미지 사용시 이미지 존재여부 확인후 처리
글번호: 311
작성자: 최성춘
작성일: 2009/06/03 오후 5:38:00
조회수: 5500
 
            
                
                
                
idx title imgurl
<%#Eval("idx") %> <%#Eval("title") %>




 using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.IO;

public partial class ListControls_DataList : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            this.DataList1.DataSource = GetData();
            this.DataList1.DataBind();
        }       
    }

    /// 
    /// test 데이타.
    /// 
    /// 
    private DataTable GetData()
    {
        DataTable dt = new DataTable();
        DataRow dr;

        dt.Columns.Add("idx");
        dt.Columns.Add("title");
        dt.Columns.Add("regdate");
        dt.Columns.Add("imgurl");

        for (int i = 0; i < 11; i++)
        {
            dr = dt.NewRow();

            dr["idx"] = i.ToString();
            dr["title"] = String.Format("{0} 번째 제목", i.ToString());
            dr["regdate"] = DateTime.Now.ToString("yyyy-MM-dd");            
            dr["imgurl"] = String.Format("{0}.gif", i.ToString());//파일명

            dt.Rows.Add(dr);
            dt.AcceptChanges();
        }

        return dt;
    }

    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType.Equals(ListItemType.AlternatingItem) || e.Item.ItemType.Equals(ListItemType.Item))
        {
            DataRowView drv = (DataRowView)e.Item.DataItem;

            Image img = (Image)e.Item.FindControl("img");

            // 파일의 물리적인 경로
            string strFilePath = Server.MapPath(String.Format("~/ListControls/Files/{0}", drv["imgurl"].ToString()));
            
            FileInfo file = new FileInfo(strFilePath);

            // 파일존재여부 확인후 image 컴포넌트 숨김처리
            if (file.Exists)
            {
                img.ImageUrl = String.Format("~/ListControls/Files/{0}", drv["imgurl"].ToString());
            }
            else
            {
                img.Visible = false;
            }            
        }
    }
}
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 15. ASP.NET 추적(Tracing), 상태 관리(State Management... - 레드플러스 2003-11-15 5795
  14. 데이터 출력 컨트롤 : 리피터, 데이터리스트, 데이터그리드 - 레드플러스 2003-11-15 7869
  데이터그리드 컨트롤을 사용해서 출력(모양 및 기본 페이징) - 레드플러스 2004-05-28 5972
현재글 데이타 리스트 이미지 사용시 이미지 존재여부 확인후 처리 - 최성춘 2009-06-03 5500
  기본 및 고급(사용자 정의) 페이징 연습용 쿼리문 페이징연습.sql(951 Byte(s)) 레드플러스 2004-05-28 5936
  기본페이징테스트.aspx 기본페이징테스트.aspx(806 Byte(s)) 레드플러스 2004-05-28 6592
  기본페이징테스트.aspx.cs 기본페이징테스트.aspx.cs(2 KB) 레드플러스 2004-05-28 5513
  그리드 컨트롤의 ItemDataBound 이벤트 핸들러 : 최근글 표시 및 마우스 오... - 레드플러스 2005-04-20 6687
  그리드 컨트롤의 ItemDataBound 이벤트 핸들러 : 해당row 클릭시 선택값... - 최성춘 2009-06-08 7091
  그리드뷰(GridView) 컨트롤 : MSDN 온라인 예제 링크 - 레드플러스 2006-03-15 6523
  그리드뷰(GridView) Footer 영역 사용(푸터영역에 소계 출력 및 셀 합치기... - 레드플러스 2014-03-17 4773
  참고 URL : GridView 및 DataGrid 웹 서버 컨트롤 비교 - 레드플러스 2007-02-22 5472
  DataGrid의 Data 내용을 Excel로 Down받기.. - 최성춘 2007-03-14 6980
  엑셀 파일의 내용을 읽어 오기 - 최성춘 2007-04-16 5784
  XML 을 이용한 엑셀다운로드 - 최성춘 2007-04-16 6484
  GridView(그리드뷰) 컨트롤의 기본 페이징(Paging) 관련 코드 샘플 - 레드플러스 2008-06-30 9208
  활용예제 : 그리드뷰 멀티헤더 : GridView's Multi Header(Row ... GridViewMultiHeader.png(5 KB) 레드플러스 2009-01-22 9541
  asp.net dataset to excel download - 레드플러스 2014-03-16 4539
  [팁] ASP.NET GridView Currency 표현, 세자리마다 콤마 찍기 - 레드플러스 2014-03-26 4719
  Com+ 사용시..트랙 잭션 에러관련 - 최성춘 2007-06-05 6256
  고급페이징테스트.aspx 고급페이징테스트.aspx(823 Byte(s)) 레드플러스 2004-05-28 5934
  고급페이징테스트.aspx.cs 고급페이징테스트.aspx.cs(2 KB) 레드플러스 2004-05-28 5522
다음글 13. ADO.NET - 레드플러스 2003-11-15 7070
 
손님 사용자 Anonymous (손님)
로그인 Home