As the author of one of the most popular date pickers, Peter's Date Package
(
http://www.peterblum.com/datecontrols/home.aspx), I have some knowledge
here. Naturally, I'd recommend that you purchase one of the third party
controls available. It will save you a lot of time and deliver code that has
been tested in the field. In my product, it works on many browsers and
includes validators, time entry and more. (19 controls total for $50 USD)
Here is the general idea. You cannot use the ASP.NET Calendar control
because each time you click on a date or next/prev month, it submits the
page. When you build a popup calendar inside the same window, you show an
absolutely positioned <DIV> that contains the calendar. If it submits the
page, it effectively closes the calendar. To solve this, you need a
javascript-based calendar that does not submit on each click. It is a big
task to write one. Its more complicated when you need to support more than
just Internet Explorer because Mozilla, FireFox, Netscape 7, Opera 7, Safari
and the rest have slight differences.
--- Peter Blum
www.PeterBlum.com
Email: (e-mail address removed)
Creator of "Professional Validation And More" at
http://www.peterblum.com/vam/home.aspx