Hi,
Here I'm providing link for generating calender with dropdownlist controls
http://www.codeproject.com/KB/scripting/JavaScriptCalendar.aspx
I hope this links helps you to understand calender control details
And I tried some code for generating months in dropdown list
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>Year :
<asp:DropDownList ID="ddlyear" runat="server">
</td>
<td>Month :
<asp:DropDownList ID="ddlmonth" runat="server" AutoPostBack="True"
onselectedindexchanged="ddlmonth_SelectedIndexChanged">
</td>
<td>Date :
<asp:DropDownList ID="ddldate" runat="server">
</td>
</tr>
</table>
</div>
</form>
And the code behind file contains following code
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
for (int i = 1; i <= 12; i++)
{
System.Globalization .DateTimeFormatInfo nm=new System.Globalization.DateTimeFormatInfo ();
ddlmonth.Items.Add (new ListItem (nm.GetMonthName(i).ToString (),i.ToString ()));
}
for (int i = 1900; i <= System.DateTime.Now.Year; i++)
{
ddlyear.Items.Add (new ListItem( i.ToString (),i.ToString ()));
}
}
}
protected void ddlmonth_SelectedIndexChanged(object sender, EventArgs e)
{
ddldate.Items.Clear();
for (int i = 1; i <= System.DateTime.DaysInMonth(int.Parse(ddlyear.SelectedValue), int.Parse(ddlmonth.SelectedValue)); i++)
{
ddldate .Items.Add (new ListItem (i.ToString (),i.ToString ()));
}
}
In the above code I filled days based on month selected by user.
If you can use jquery it is easy fill dynamically with asynchronous requests.
or use Ajax update panels also
All the Best