제목 : ~/Schedule/ScheduleList.ascx.cs
글번호:
|
|
248
|
작성자:
|
|
레드플러스
|
작성일:
|
|
2008/07/02 오전 9:42:00
|
조회수:
|
|
4743
|
using System;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Practices.EnterpriseLibrary.Data;
public partial class Schedule_ScheduleListControl : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
// Empty : 인증과 연동(관리자만 글쓰기 버튼 보이기)
//[1] 사용자 1명 비교
if (Page.User.Identity.Name.ToLower() == "admin") {
this.btnWrite.Visible = false;
}
else {
this.btnWrite.Visible = true;
}
////[2] Administrators 그룹(역할)에 포함된 사용자에게 허가
//if (Roles.IsUserInRole("Administrators")) {
// this.btnWrite.Visible = true;
//}
//else {
// this.btnWrite.Visible = false;
//}
}
protected void btnWrite_Click(object sender, EventArgs e)
{
Response.Redirect("ScheduleWrite.aspx");
}
// 날짜(셀 하나)가 하나 만들어질 때마다 발생
protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{
CalendarDay d = e.Day;// 현재 날짜
TableCell c = e.Cell;// 현재 셀(td)
if (d.IsOtherMonth) // 다른 월이라면...
{
c.Controls.Clear(); // 셀 클리어
}
else
{
string strTitle = ""; // 일정 상세 보기로 이동할 때 URL을 담을 그릇
using (IDataReader objDr = DatabaseFactory.CreateDatabase("ConnectionString").ExecuteReader("GetSchedule", d.Date.Year, d.Date.Month, d.Date.Day))
{
while (objDr.Read())
{
strTitle += String.Format("<br /><a href='ScheduleView.aspx?SYear={0}&SMonth={1}&SDay={2}&Num={3}'>{4}</a>", d.Date.Year, d.Date.Month, d.Date.Day, objDr["Num"], objDr["Title"]);
}
if (!String.IsNullOrEmpty(strTitle)) // 해당 날짜에 데이터가 있다면
{
c.Controls.Add(new LiteralControl(strTitle)); // 셀에 링크 포함
}
}
}
}
// 날짜를 클릭할 때마다 실행
protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
// 년/월/일 값을 가지고 일정 등록 페이지로 이동
string strUrl = String.Format("ScheduleWrite.aspx?SYear={0}&SMonth={1}&SDay={2}", this.Calendar1.SelectedDate.Year, this.Calendar1.SelectedDate.Month, this.Calendar1.SelectedDate.Day);
Response.Redirect(strUrl);
}
}