ASP.NET 기초 강의실

시삽: 레드플러스 님 
게시판 이동:
 제목 : ~/Schedule/ScheduleView.ascx.cs
글번호: 250
작성자: 레드플러스
작성일: 2008/07/02 오전 10:35:00
조회수: 4618
using System;
using System.Data;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Practices.EnterpriseLibrary.Data;

/// <summary>
/// 현재 페이지는 ScheduleWrite.ascx와 거의 동일하므로 하나로 통일시켜도 무관하다.
/// </summary>
public partial class Schedule_ScheduleViewControl : System.Web.UI.UserControl
{
    #region Private Member Variables
    private string strSYear = DateTime.Now.Year.ToString(); // 년
    private string strSMonth = DateTime.Now.Month.ToString(); // 월
    private string strSDay = DateTime.Now.Day.ToString(); // 일
    private string strSHour = DateTime.Now.Hour.ToString(); // 시
    #endregion

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            DisplayData();
        }
        // 인증된 사용자만 글쓰기 : 비회원제로 연습할 때에는 아래코드 블록을 주석처리
        if (Page.User.Identity.Name.ToLower() == "admin"
            || Roles.IsUserInRole("Administrators"))
        {
            this.btnModify.Visible = true;
            this.btnDelete.Visible = true;
        }
        else
        {
            this.btnModify.Visible = false;
            this.btnDelete.Visible = false;
        }
    }
    private void DisplayData()
    {
        #region 드롭다운 리스트 초기화
        // 년
        for (int i = (DateTime.Now.Year); i < (DateTime.Now.Year + 5); i++)
        {
            ListItem li = new ListItem();
            li.Text = i.ToString() + "년";
            li.Value = i.ToString();
            this.lstYear.Items.Add(li);
        }
        // 월
        for (int i = 1; i <= 12; i++)
        {
            ListItem li = new ListItem(String.Format("{0,2:D}월", i), i.ToString());
            this.ddlMonth.Items.Add(li);
        }
        // 일
        for (int i = 1; i <= 31; i++)
        {
            ListItem li = new ListItem(String.Format("{0}일", i), i.ToString());
            this.comDay.Items.Add(li);
        }
        // 시
        for (int i = 0; i <= 23; i++)
        {
            ListItem li = new ListItem(String.Format("{0}시", i), i.ToString());
            this.ctlHour.Items.Add(li);
        }
        #endregion

        #region 쿼리스트링 받기
        if (!String.IsNullOrEmpty(Request["SYear"]))
        {
            strSYear = Request["SYear"];
            strSMonth = Request["SMonth"];
            strSDay = Request["SDay"];
        }
        #endregion

        #region 넘겨온 값에 해당하는 일시를 선택
        foreach (ListItem item in this.lstYear.Items)
        {
            if (item.Value == strSYear) // 넘겨온 년도와 같다면...
            {
                item.Selected = true; // 해당 항목이 선택된 상태로 보여주기    
            }
        }
        for (int i = 0; i < this.ddlMonth.Items.Count; i++)
        {
            if (this.ddlMonth.Items[i].Value == strSMonth)
            {
                this.ddlMonth.Items[i].Selected = true;
            }
        }
        foreach (ListItem li in this.comDay.Items)
        {
            if (li.Value == strSDay)
            {
                li.Selected = true;
            }
        }
        for (int i = 0; i < ctlHour.Items.Count; i++)
        {
            if (ctlHour.Items[i].Value == DateTime.Now.Hour.ToString())
            {
                ctlHour.Items[i].Selected = true;
            }
        }
        #endregion

        #region 제목과 내용 출력
        using (IDataReader objDr = DatabaseFactory.CreateDatabase("ConnectionString").ExecuteReader("ViewSchedule", Request["Num"]))
        {
            if (objDr.Read())
            {
                txtTitle.Text = objDr["Title"].ToString();
                txtContent.Text = objDr["Content"].ToString();
            }
        }
        #endregion
    }
    protected void btnModify_Click(object sender, EventArgs e)
    {
        DatabaseFactory.CreateDatabase("ConnectionString").ExecuteNonQuery("ModifySchedule", this.lstYear.SelectedValue, this.ddlMonth.SelectedValue, this.comDay.SelectedValue, this.ctlHour.SelectedValue, txtTitle.Text, txtContent.Text, Request["Num"]);
        btnList_Click(null, null);
    }
    protected void btnDelete_Click(object sender, EventArgs e)
    {
        DatabaseFactory.CreateDatabase("ConnectionString").ExecuteNonQuery("DeleteSchedule", Request["Num"]);
        btnList_Click(null, null);
    }
    protected void btnList_Click(object sender, EventArgs e)
    {
        string strUrl = String.Format("ScheduleList.aspx?SYear={0}&SMonth={1}", strSYear, strSMonth);
        Response.Redirect(strUrl);
    }
}
 
이전 글   다음 글 삭제 수정 답변 글쓰기 리스트


관련 아티클 리스트
  제       목 파일 작성자 작성일 조회
이전글 이전 10개 / 다음 10개 페이징 처리 메서드 - 레드플러스 2008-07-07 6270
  [!] 일정관리 모듈 : /WebSchedule/Schedule/ - 레드플러스 2008-07-01 8626
  [1] 테이블과 저장 프로시저 : ~/Schedule/Documents/Schedul... - 레드플러스 2008-07-01 5035
  [2] 일정 입력 : ~/Schedule/ScheduleWrite.ascx - 레드플러스 2008-07-01 5025
  ~/Schedule/ScheduleWrite.ascx.cs - 레드플러스 2008-07-01 4439
  [3] 일정 출력 : ~/Schedule/ScheduleList.ascx - 레드플러스 2008-07-02 4489
  ~/Schedule/ScheduleList.ascx.cs - 레드플러스 2008-07-02 4761
  [4] 일정 수정 / 삭제 : ~/Schedule/ScheduleView.ascx - 레드플러스 2008-07-02 4464
현재글 ~/Schedule/ScheduleView.ascx.cs - 레드플러스 2008-07-02 4618
다음글 3계층 프로그래밍 관련 단어 - 레드플러스 2008-06-30 5139
 
손님 사용자 Anonymous (손님)
로그인 Home