当前位置:首页 » 网站技术 » ASP.NET

ASP.NET中三个DropDownList控件应用

...

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);
 }

继续阅读
ASP.NET进度条
没有数据时显示GridView表格
ASP.NET中的换行问题解决方案
ASP.NET跳转页面方法比较
ASP.NET内置功能抵御Web攻击
ASP.NET写文件实例
ASP.NET页面间值传递方法实例
使用ASP.NET备份和还原SQL Server及Access数据库
ASP.NET日期与时间处理
发表评论

昵称:
最新评论
暂时没有评论!