dropdownlist1代表年 autopostback=true
dropdownlist2代表月 autopostback=true
dropdownlist3代表日
protected
void
Page_Load(
object
sender, EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
string s = Request.QueryString["id"];
Response.Write(Server.UrlDecode(s));
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
DateTime tnow = DateTime.Now;
ArrayList years = new ArrayList();
ArrayList months = new ArrayList();
int i;
for (i = 1991; i >= 1958; i--)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
years.Add(i);
}
for (i = 1; i <= 12; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
months.Add(i);
}
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
if (!IsPostBack)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
DropDownList1.DataSource = years;
DropDownList1.SelectedValue =years[8].ToString();
DropDownList1.DataBind();
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
DropDownList2.DataSource = months;
DropDownList2.SelectedValue = tnow.Month.ToString();
DropDownList2.DataBind();
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
int year, month;
Int32.TryParse(tnow.Year.ToString(), out year);
Int32.TryParse(tnow.Month.ToString(), out month);
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
binddropdownlist3(year, month);
DropDownList3.SelectedValue = tnow.Day.ToString();
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
protected
bool
checkLeap(
int
year)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
if ((year % 4 != 0) && (year % 100 != 0) || (year % 400 == 0))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
return true;
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
return false;
}
}
![](https://i-blog.csdnimg.cn/blog_migrate/6810355c2f78c12e91b7997a8e8c583a.gif)
protected
void
binddropdownlist3(
int
year,
int
month)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
int i;
ArrayList days = new ArrayList();
switch (month)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
for (i = 1; i <= 31; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
days.Add(i);
}
break;
case 2:
if (checkLeap(year))
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
for (i = 1; i <= 29; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
days.Add(i);
}
}
else
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
for (i = 1; i <= 28; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
days.Add(i);
}
}
break;
case 4:
case 6:
case 9:
case 11:
for (i = 1; i <= 30; i++)
![](https://i-blog.csdnimg.cn/blog_migrate/37c8bf68cdc3cc81759c34160776bc53.gif)
...{
days.Add(i);
}
break;
}
DropDownList3.DataSource = days;
DropDownList3.DataBind();
![](https://i-blog.csdnimg.cn/blog_migrate/6a9c071a08f1dae2d3e1c512000eef41.gif)
}
protected
void
DropDownList1_SelectedIndexChanged(
object
sender, EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
int year, month;
Int32.TryParse(DropDownList1.SelectedValue.ToString(), out year);
Int32.TryParse(DropDownList2.SelectedValue.ToString(),out month);
binddropdownlist3(year, month);
}
protected
void
DropDownList2_SelectedIndexChanged(
object
sender, EventArgs e)
![](https://i-blog.csdnimg.cn/blog_migrate/a41954a27d6ad96fa2c2cf816e677448.gif)
...
{
int year, month;
Int32.TryParse(DropDownList1.SelectedValue.ToString(),out year);
Int32.TryParse(DropDownList2.SelectedValue.ToString(),out month);
binddropdownlist3(year, month);
}
但是这种做法会刷新页面,不是很好!
http://www.fayland.org/journal/Date_Selector.html