Introduction

This is just another DatePicker for ASP.NET that supports both Persian (Jalali/Shamsi/Solar) and Gregorian Calendar.


It's JavaScript source code is taken from  http://www.farhadi.ir . 

This version is not completed yet and I'm going to add more features to it in the near future! 

Properties   

Version 1.1  (2012-10-15) 
Version 1.0  (2012-10-07) 

Sample code 

 For showing the Persian Datepicker:     

<rhp:DatePicker ID="DatePicker1" runat="server" DatePersian="1391/07/14" CalendarType="Persian"></rhp:DatePicker>  

 For showing the Gregorian Datepicker:  

<rhp:DatePicker ID="DatePicker2" runat="server" Date="2012-10-06" CalendarType="Gregorian"></rhp:DatePicker>  

 For getting selected date in postback event: 

Label1.Text = "Text: " + DatePicker1.Text;
Label2.Text = "Date: " + DatePicker1.Date.ToString();
Label3.Text = "DatePersian: " + DatePicker1.DatePersian; 

 Example for OnUpdate:

function onUpdate(calendar){
            var msg =
                    "<br/>Persian: Year: " + calendar.date.getJalaliFullYear() +
                    ", Month: " + (calendar.date.getJalaliMonth() + 1) +
                    ", Day: " + calendar.date.getJalaliDate() +
                    "<br/>Gregorian: Year: " + calendar.date.getFullYear() +
                    ", Month: " + calendar.date.getMonth() +
                    ", Day: " + calendar.date.getDate();

            logEvent("onUpdate Event: <br> Selected Date: " + calendar.date.print('%Y/%m/%d', 'jalali') + msg);
        }; 

 Example for OnSelect:

function onSelect(calendar, date) {
            // Beware that this function is called even if the end-user only
            // changed the month/year. In order to determine if a date was             
	    // clicked you can use the dateClicked  property of the calendar:
             if (calendar.dateClicked) {
                var msg =
                        "<br/>Persian: Year: " + calendar.date.getJalaliFullYear() +
                        ", Month: " + (calendar.date.getJalaliMonth() + 1) +
                        ", Day: " + calendar.date.getJalaliDate() +
                        "<br/>Gregorian: Year: " + calendar.date.getFullYear() +
                        ", Month: " + calendar.date.getMonth() +
                        ", Day: " + calendar.date.getDate();

                $("#<%= DatePicker1.ClientID %>").val(date);
                logEvent("onSelect Event: <br> Selected Date: " + date + msg);
                calendar.hide();
                //calendar.callCloseHandler(); // this calls "onClose"
            }
        }; 

 Example for OnClose:

function onClose(calendar) {
            logEvent("onClose Event");
            calendar.hide();
        };