Calender With Holiday Details in ASP.NET

Bharti
Posted by in ASP.NET category on for Beginner level | Points: 250 | Views : 8652 red flag
Rating: 4.25 out of 5  
 4 vote(s)

In this article, i will show you, how to add holiday details within control and apply some style for those dates.The purpose of this article is add India holiday details within the calendar control and apply some style to those dates.

Introduction

In this article, i will show you, how to add holiday details within control and apply some style for those dates.The purpose of this article is add India holiday details within the calendar control and apply some style to those dates.

Implementation

First design simple html page with calendar control as like following.

HTML Code

<body><form id="form1" runat="server"><div><div><p style="text-align: center"><b><asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Names="Arial Black" Font-Size="Medium"ForeColor="#0066FF">Indian List of Holidays 2011</asp:Label><br /></b></p><asp:Calendar ID="Calendar1" runat="server" BackColor="#FFFFCC" BorderColor="#FFCC66"BorderWidth="1px" DayNameFormat="Shortest" Font-Names="Verdana" Font-Size="8pt"ForeColor="#663399" ShowGridLines="True" OnDayRender="Calendar1_DayRender" OnSelectionChanged="Calendar1_SelectionChanged"OnVisibleMonthChanged="Calendar1_VisibleMonthChanged"><SelectedDayStyle BackColor="#CCCCFF" Font-Bold="True" /><SelectorStyle BackColor="#FFCC66" /><TodayDayStyle BackColor="#FFCC66" ForeColor="White" /><OtherMonthDayStyle ForeColor="#CC9966" /><NextPrevStyle Font-Size="9pt" ForeColor="#FFFFCC" /><DayHeaderStyle BackColor="#FFCC66" Font-Bold="True" Height="1px" /><TitleStyle BackColor="#990000" Font-Bold="True" Font-Size="9pt" ForeColor="#FFFFCC" /></asp:Calendar><br /><b></b><asp:Label ID="LabelAction" runat="server"></asp:Label><br /></b></div></div></form></body>

 Then add server side code to mark the holidays in calendar object.

C# Code

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Collections;

public partial class calender : System.Web.UI.Page
{
Hashtable HolidayList;

 

protected void Page_Load(object sender, EventArgs e)
{
HolidayList = Getholiday();
Calendar1.Caption = "Calender - Author: Espranza";
Calendar1.FirstDayOfWeek = FirstDayOfWeek.Sunday;
Calendar1.NextPrevFormat = NextPrevFormat.FullMonth;
Calendar1.TitleFormat = TitleFormat.MonthYear;
Calendar1.ShowGridLines = true;
Calendar1.DayStyle.Height = new Unit(50);
Calendar1.DayStyle.Width = new Unit(50);
Calendar1.DayStyle.HorizontalAlign = HorizontalAlign.Center;
Calendar1.DayStyle.VerticalAlign = VerticalAlign.Middle;
Calendar1.OtherMonthDayStyle.BackColor = System.Drawing.Color.AliceBlue;
}

 

protected void Calendar1_DayRender(object sender, DayRenderEventArgs e)
{if (HolidayList[e.Day.Date.ToShortDateString()] != null)
{
Literal literal1 = new Literal();
literal1.Text = "<br/>";
e.Cell.Controls.Add(literal1);
Label label1 = new Label();
label1.Text = (string)HolidayList[e.Day.Date.ToShortDateString()];
label1.Font.Size = new FontUnit(FontSize.Small);
label1.Font.Bold = true;
e.Cell.Controls.Add(label1);
}
}

 

protected void Calendar1_SelectionChanged(object sender, EventArgs e)
{
LabelAction.Text = "Date changed to :" + Calendar1.SelectedDate.ToShortDateString();
}

 

protected void Calendar1_VisibleMonthChanged(object sender, MonthChangedEventArgs e)
{
LabelAction.Text = "Month changed to :" + e.NewDate.ToShortDateString();
}

 

private Hashtable Getholiday()
{
Hashtable holiday = new Hashtable();
holiday["1/1/2011"] = "New Year";
holiday["1/5/2011"] = "Guru Govind Singh Jayanti";
holiday["1/8/2011"] = "Muharam (Al Hijra)";
holiday["1/14/2011"] = "Pongal";
holiday["1/26/2011"] = "Republic Day";
holiday["2/23/2011"] = "Maha Shivaratri";
holiday["3/10/2011"] = "Milad un Nabi (Birthday of the Prophet";
holiday["3/21/2011"] = "Holi";
holiday["3/21/2011"] = "Telugu New Year";
holiday["4/3/2011"] = "Ram Navmi";
holiday["4/7/2011"] = "Mahavir Jayanti";
holiday["4/10/2011"] = "Good Friday";
holiday["4/12/2011"] = "Easter";
holiday["4/14/2011"] = "Tamil New Year and Dr Ambedkar Birth Day";
holiday["5/1/2011,5/1/2011"] = "May Day";
holiday["5/9/2011"] = "Buddha Jayanti and Buddha Purnima";
holiday["6/24/2011"] = "Rath yatra";
holiday["8/13/2011"] = "Krishna Jayanthi";
holiday["8/14/2011"] = "Janmashtami";
holiday["8/15/2011"] = "Independence Day";
holiday["8/19/2011"] = "Parsi New Year";
holiday["8/23/2011"] = "Vinayaka Chaturthi";
holiday["9/2/2011"] = "Onam";
holiday["9/5/2011"] = "Teachers Day";
holiday["9/21/2011"] = "Ramzan";
holiday["9/27/2011"] = "Ayutha Pooja";
holiday["9/28/2011"] = "Vijaya Dasami (Dusherra)";
holiday["10/2/2011"] = "Gandhi Jayanti";
holiday["10/17/2011"] = "Diwali & Govardhan Puja";
holiday["10/19/2011"] = "Bhaidooj";
holiday["11/2/2011"] = "Guru Nanak Jayanti";
holiday["11/14/2011"] = "Children's Day";
holiday["11/28/2011"] = "Bakrid";
holiday["12/25/2011"] = "Christmas Day";
holiday["12/28/2011"] = "Muharram";return holiday;
}
}

 That's all.now you can run the page and see the output with holiday marked calendar page.

Conclusion

In this article, you have learned, how to add holiday details within control and apply some style for those dates. For the demostration purpose, I have use the india holiday details. I hope this is help to you all.

Page copy protected against web site content infringement by Copyscape

About the Author

Bharti
Full Name: Bharat Bhushan
Member Level: Starter
Member Status: Member
Member Since: 7/19/2010 3:27:16 AM
Country: India
Bharat Bhushan
http://www.dotnetfunda.com

Login to vote for this post.

Comments or Responses

Posted by: Vinay13mar on: 10/15/2012 | Points: 25
Check this article
http://dotnetpools.com/Article/ArticleDetiail/?articleId=43&title=Event%20Calendar%20Using%20Jquery%20In%20MVC3

Login to post response

Comment using Facebook(Author doesn't get notification)