ASP.NET中用三个DropDownList控件方便的选择年月日
2007-10-21 16:16
435 查看
ASPx页面上有三个DropDownList控件,
DropDownList1 表示年,DropDownList2表示月,DropDownList3表示天;注意用将这三个DropDownList控件的AutoPostBack属性设为True。
用户可以方便地选择年月日,并且每月的日期会随着用户选择不同的年,月而发生相应的变化
其后台cs文件代码如下:
private void Page_Load (object sender, System.EventArgs e)
{
DateTime tnow=DateTime.Now;
//现在时间
ArrayList AlYear=new ArrayList();
int i;
for (i=2002;i<=2010;i++) AlYear.Add (i);
ArrayList AlMonth=new ArrayList();
for (i=1;i<=12;i++) AlMonth.Add (i);
if (!(this.IsPostBack))
{
DropDownList1.DataSource=AlYear;
DropDownList1.DataBind ();
//绑定年
//选择当前年
DropDownList1.SelectedValue=tnow.Year.ToString ();
DropDownList2.DataSource=AlMonth; DropDownList2.DataBind ();
//绑定月
//选择当前月
DropDownList2.SelectedValue=tnow.Month.ToString ();
int year,month;
year=Int32.Parse(DropDownList1.SelectedValue);
month=Int32.Parse(DropDownList2.SelectedValue);
BindDays(year,month);
//绑定天
//选择当前日期
DropDownList3.SelectedValue=tnow.Day.ToString();
}
}
//判断闰年
private bool CheckLeap (int year)
{
if ((year%4==0)&&(year%100!=0)||(year%400==0))
return true;
else
return false;
}
//绑定每月的天数
private void BindDays(int year,int month)
{
int i;
ArrayList AlDay=new ArrayList();
switch (month)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
for (i=1;i<=31;i++)
AlDay.Add (i);
break;
case 2:
if (CheckLeap (year))
{
for (i=1;i<=29;i++) AlDay.Add (i);
}
else
{
for (i=1;i<=28;i++) AlDay.Add (i);
}
break;
case 4: case 6: case 9: case 11:
for (i=1;i<=30;i++)
AlDay.Add (i);
break;
}
DropDownList3.DataSource=AlDay;
DropDownList3.DataBind ();
}
//选择年
private void DropDownList1_SelectedIndexChanged (object sender, System.EventArgs e)
{
int year,month;
year=Int32.Parse(DropDownList1.SelectedValue);
month=Int32.Parse(DropDownList2.SelectedValue);
BindDays(year,month);
}
//选择月
private void DropDownList2_SelectedIndexChanged (object sender, System.EventArgs e)
{
int year,month;
year=Int32.Parse(DropDownList1.SelectedValue);
month=Int32.Parse(DropDownList2.SelectedValue);
BindDays(year,month);
}
文章引用自:
DropDownList1 表示年,DropDownList2表示月,DropDownList3表示天;注意用将这三个DropDownList控件的AutoPostBack属性设为True。
用户可以方便地选择年月日,并且每月的日期会随着用户选择不同的年,月而发生相应的变化
其后台cs文件代码如下:
private void Page_Load (object sender, System.EventArgs e)
{
DateTime tnow=DateTime.Now;
//现在时间
ArrayList AlYear=new ArrayList();
int i;
for (i=2002;i<=2010;i++) AlYear.Add (i);
ArrayList AlMonth=new ArrayList();
for (i=1;i<=12;i++) AlMonth.Add (i);
if (!(this.IsPostBack))
{
DropDownList1.DataSource=AlYear;
DropDownList1.DataBind ();
//绑定年
//选择当前年
DropDownList1.SelectedValue=tnow.Year.ToString ();
DropDownList2.DataSource=AlMonth; DropDownList2.DataBind ();
//绑定月
//选择当前月
DropDownList2.SelectedValue=tnow.Month.ToString ();
int year,month;
year=Int32.Parse(DropDownList1.SelectedValue);
month=Int32.Parse(DropDownList2.SelectedValue);
BindDays(year,month);
//绑定天
//选择当前日期
DropDownList3.SelectedValue=tnow.Day.ToString();
}
}
//判断闰年
private bool CheckLeap (int year)
{
if ((year%4==0)&&(year%100!=0)||(year%400==0))
return true;
else
return false;
}
//绑定每月的天数
private void BindDays(int year,int month)
{
int i;
ArrayList AlDay=new ArrayList();
switch (month)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
for (i=1;i<=31;i++)
AlDay.Add (i);
break;
case 2:
if (CheckLeap (year))
{
for (i=1;i<=29;i++) AlDay.Add (i);
}
else
{
for (i=1;i<=28;i++) AlDay.Add (i);
}
break;
case 4: case 6: case 9: case 11:
for (i=1;i<=30;i++)
AlDay.Add (i);
break;
}
DropDownList3.DataSource=AlDay;
DropDownList3.DataBind ();
}
//选择年
private void DropDownList1_SelectedIndexChanged (object sender, System.EventArgs e)
{
int year,month;
year=Int32.Parse(DropDownList1.SelectedValue);
month=Int32.Parse(DropDownList2.SelectedValue);
BindDays(year,month);
}
//选择月
private void DropDownList2_SelectedIndexChanged (object sender, System.EventArgs e)
{
int year,month;
year=Int32.Parse(DropDownList1.SelectedValue);
month=Int32.Parse(DropDownList2.SelectedValue);
BindDays(year,month);
}
文章引用自:
相关文章推荐
- 在ASP.NET中用三个DropDownList控件方便的选择年月日
- 在ASP.NET中用三个DropDownList控件方便的选择年月日【原创】
- 在ASP.NET中用三个DropDownList控件方便的选择年月日
- 在ASP.NET中用三个DropDownList控件方便的选择日期
- ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据
- ASP.NET中如何让DropDownList控件既能做选择又能做输入用(转载)
- ASP.NET中DropDownList控件的简单使用--DDL绑定数据库表中值,选择DDL中值直接检索数据
- 用三个DropDownList控件选择年月日【转】
- 在ASP.NET中用三个DropDownList控件应用
- ASP.NET中如何让DropDownList控件既能做选择又能做输入用?
- js 获取 asp.net 服务器端控件 Label 与 TextBox RadioButtonList 与 DropDownList 的值
- asp.net页面上dropdownlist是否选择的验证
- ASP.NET常用控件之1:用于选择日期的TextBox控件
- asp.net 中的DropDownList控件的前台与后台
- ASP.NET 2.0里Treeview控件中对Checkbox的联级选择
- Asp.NET中DropDownList控件使用
- ASP.NET弹出式日历选择控件的实现
- [网络收集]ASP.NET两种办法给DropDownList绑定SqlDataReader 及在gridview等控件中绑定dropdownlist的简单方法
- ASP.NET - TreeView Web 服务器控件中的选择、导航和复选框
- 使asp.net DropDownList控件有分组功能