کنترل Calendar در صفحات ASP.Net برای نمایش یک تقویم ، بر روی صفحه استفاده می شود . این تقویم ، تاریخ ماه جاری را در قالب ۶ هفته به کاربر نمایش می دهد . شما می توانید بین روزها و ماه ها حرکت کرده و تاریخ مورد نظر خود را انتخاب یا مشاهده نمایید . تاریخ نمایش داده شده توسط این کنترل ، تاریخ جاری سرور خواهد بود .
کنترل Calendar بر مبنای شی DateTime در ASP.Net ساخته شده و از طیف وسیعی از تاریخ پشتیبانی می کند . توسط این کنترل ، می توانید هر تاریخ دلخواهی بین سال های ۰ تا ۹۹۹۹ بعد از میلاد مسیح را مشاهده و یا انتخاب نمایید . در حالت عادی ،تاریخ هر روز در کنترل به صورت یک لینک ( HyperLink )  ، می باشد که می تواند یک رویداد را اجرا کرده و یا صفحه را PostBack نماید .
در هنگام اجرای صفحات ASP.Net ، کنترل Calendar به صورت یک تگ < Table > تولید و نمایش داده می شود . بنابراین برخی خواص خروجی این کنترل ، بر پایه خواص و قابلیت های تگ < Table > در HTML بستگی دارد . برخی از این خواص توسط مرورگرهای قدیمی به خوبی پشتیانی نمی شود .
شکل کلی تعریف و نمایش کنترل Calendar در صفحه های ASP.Net به صورت زیر است :
Syntax

< asp:Calendar ID=”Calendar1″ runat=”server” >   < /asp:Calendar ><    August 2012    >
Sun      Mon   Tue   Wed  Thu   Fri    Sat
۲۹         ۳۰    ۳۱      ۱      ۲      ۳    ۴
۵            ۶      ۷      ۸      ۹    ۱۰    ۱۱
۱۲         ۱۳    ۱۴    ۱۵    ۱۶    ۱۷    ۱۸
۱۹         ۲۰    ۲۱    ۲۲    ۲۳    ۲۴    ۲۵
۲۶         ۲۷    ۲۸    ۲۹    ۳۰    ۳۱    ۱
۲            ۳      ۴      ۵      ۶     ۷    ۸

نحوه قرار دادن یک کنترل Calendar بر روی صفحه ASP.Net :

ابتدا یک صفحه ASP.Net در محیط Visual Studio ایجاد کرده و یا صفحه از قبل طراحی شده خود را باز کنید .
از منوی Toolbox و از قسمت کنترل های Standard یک کنترل Calendar را کشیده و روی صفحه قرار دهید .
همچنین می توانید به صورت مستقیم در قسمت کدنویسی Source صفحه کد مربوط به کنترل را تایپ نمایید .

 

فعال سازی یا عدم فعال سازی انتخاب تاریخ :

به صورت پیش فرض ، کاربر می تواند تاریخ دلخواه بر روی کنترل Calendar انتخاب نماید . اما چنانچه کنترل را به صورت فقط خواندنی read-only تنظیم نمایید ، آنگاه کنترل فقط تاریخ را نشان داده و دیگر تاریخ قابل انتخاب نیست . برای این منظور باید مقدار خاصیت SelectionMode کنترل را روی مقدار None تنظیم کنید . این مطلب را در مثال زیر نمایش داده ایم :
مثال : در مثال زیر یک دو کنترل Calendar را نمایش داده ایم . در کنترل اول امکان انتخاب تاریخ وجود دارد ، اما کنترل دوم را به صورت فقط خواندنی تنظیم کرده ایم :

asp:Calendar ID=”Calendar2″ runat=”server” >   < /asp:Calendar > 

خروجی

<    August 2012    >
Sun   Mon     Tue      Wed      Thu      Fri       Sat
۲۹    ۳۰        ۳۱         ۱          ۲         ۳         ۴
۵      ۶         ۷         ۸          ۹       ۱۰        ۱۱
۱۲    ۱۳        ۱۴       ۱۵        ۱۶       ۱۷        ۱۸
۱۹    ۲۰        ۲۱       ۲۲        ۲۳       ۲۴        ۲۵
۲۶    ۲۷        ۲۸       ۲۹        ۳۰       ۳۱          ۱
۲      ۳          ۴         ۵          ۶        ۷          ۸

 

<asp:Calendar ID=”Calendar3″ runat=”server” SelectionMode=”None” >   < /asp:Calendar > 

خروجی

                   <    August 2012    >
Sun    Mon    Tue     Wed    Thu      Fri      Sat
۲۹    ۳۰         ۳۱       ۱         ۲         ۳        ۴
۵      ۶          ۷       ۸         ۹        ۱۰      ۱۱
۱۲    ۱۳         ۱۴     ۱۵       ۱۶        ۱۷      ۱۸
۱۹    ۲۰         ۲۱     ۲۲       ۲۳        ۲۴      ۲۵
۲۶    ۲۷         ۲۸     ۲۹       ۳۰        ۳۱        ۱
۲       ۳           ۴       ۵         ۶         ۷        ۸

موارد استفاده کنترل Calendar :

از کنترل Calendar می توان برای انجام کارهای مختلفی استفاده نمود . در لیست زیر به چند مورد از این کارها اشاره کرده ایم :

انتخاب تاریخ :
همانطور که گفتیم ، این کنترل تاریخ ماه جاری را نمایش داده و کاربر می تواند بین روزها ،ماه ها و حتی سال ها حرکت کرده و تاریخ مورد نظر خود را مشاهده و یا انتخاب نماید .
تنظیم خاصیت SelectedDate باعث می شود تا تاریخ انتخاب شده به صورت رنگی ( HighLight ) نمایش داده شود . همچنین می توان کاری کرد تا کاربر بتواند چندین تاریخ مورد نظر خود را انتخاب نماید .
نمایش دادن تاریخ ملاقات ، حوادث و یا سایر اطلاعات :
توسط این کنترل و اتصال آن به یک منبع داده ، می توان تاریخ ملاقات ، حوادث و یا سایر اطلاعات مربوط به هر روز را نمایش داد . این روش را در بخش راهکارهای موثر در ASP.Net نشان داده ایم .