Introduction
This is a Persian calendar Web Custom control with full features like ASP.NET 2.0 Calendar.
In the demo project, I have used AJAX.NET and AjaxControlToolkit(http://ajax.asp.net/downloads/default.aspx?tabid=47).
For retrieving & setting the Persian date, use "SelectedDatePersian
" Properties.You can also use "SelectedDate
" Properties for retrieving the selected date in Christ format.This control supports range date selection. For enabling this feature, you must set "SelectionMode
" properties to "DayWeekMonth
" or "DayWeek
" and for retrieving, selected dates range from "SelectedDates
" Properties.
PersianCalendar1.SelectionMode = CalendarSelectionMode.DayWeekMonth;
List<DateTime> selectedDates =
(List<DateTime>)PersianCalendar1.SelectedDates.GetEnumerator();
For formatting the selected Persian date, use "SelectedPersianDateFormat
".
PersianCalendar1.SelectedPersianDateFormat ==
PersianDateStringType.LongReverse;
or
PersianCalendar1.SelectedPersianDateFormat == PersianDateStringType.Short;
This example demonstrates how to use the PersianCalendar
Control with AJAX UpdatePanel
.
<%@ Page Language="C#" AutoEventWireup="true" Codebehind="Default.aspx.cs"
Inherits="AJAXEnabledWebApplication1._Default" %>
<%@ Register Assembly="KingOf.Net.Web.UI.WebControls.PersianCalendar"
Namespace="KingOf.Net.Web.UI.WebControls" TagPrefix="KingOfDotNet" %>
<%@ Register Assembly="AjaxControlToolkit"
Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
Persian Calendar Web Control Compatible With Ajax.Net<br />
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True">
</asp:TextBox><br />
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div>
<cc1:PopupControlExtender ID="PopupControlExtender1"
runat="server" TargetControlID="TextBox1"
PopupControlID="Panel1" Position="Bottom">
</cc1:PopupControlExtender>
<asp:Panel ID="Panel1" runat="server" CssClass="popupControl">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<ContentTemplate>
<center>
<KingOfDotNet:PersianCalendar ID="PersianCalendar1"
runat="server" BackColor="#FFFFCC"
BorderColor="#FFCC66" BorderWidth="1px"
DayNameFormat="Shortest" Font-Names="Verdana"
Font-Size="8pt" ForeColor="#663399"
Height="200px" OnSelectionChanged=
"PersianCalendar1_SelectionChanged"
SelectedDate="2000-01-01" ShowGridLines="True"
VisibleDate="2000-01-01" Width="220px"
SelectedPersianDateFormat="Long">
<SelectedDayStyle BackColor="#CCCCFF"
Font-Bold="True" />
<TodayDayStyle BackColor="#FFCC66"
ForeColor="White" />
<SelectorStyle BackColor="#FFCC66" />
<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" />
</KingOfDotNet:PersianCalendar>
</center>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Panel>
</div>
</form>
</body>
</html>
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Globalization;
using KingOf.Net.Web.UI.WebControls;
namespace AJAXEnabledWebApplication1
{
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void PersianCalendar1_SelectionChanged
(object sender, EventArgs e)
{
PopupControlExtender1.Commit(PersianCalendar1.SelectedDatePersian);
}
}
}