在ASP.NET中用三个DropDownList控件方便的选择年月日

asp.net|控件

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

时间: 2024-12-29 13:02:29

在ASP.NET中用三个DropDownList控件方便的选择年月日的相关文章

dropdownlist-ASP.Net模态窗口中DropDownList控件不显示

问题描述 ASP.Net模态窗口中DropDownList控件不显示 使用showModalDialog弹出模态窗口时DropDownList控件不显示,但可以触发SelectChanged事件,怎么解决? showModalDialog('wd_selectparent.aspx', 'subpage', 'dialogWidth:400px;dialogHeight:300px;center:yes;help:no;resize:no;status:no'); 地区: Height="30p

asp.net 向UpdatePaneel中动态添加DropDownList控件代码

asp教程.net 向updatepaneel中动态添加dropdownlist控件代码 //aspx文件中添加如上代码,showchildlist函数如下:   protected void showchildlist(object sender, eventargs e)   {   dropdownlist ddl_now = (dropdownlist)sender;   string sql = "select part_id,part_name from tb_parts where

客户端用JavaScript填充DropDownList控件 服务器端读不到值

填充没有任何问题,但是在服务器端却取不出来下拉表中的内容.页面代码如下. 复制代码 代码如下: <form id="form1" runat="server"> <div> <h3>看看用js填充的dropdownlist控件在服务器端能读出来吗?</h3> 三个级联下拉列表框: <asp:DropDownList runat="server" id="bigTypeList&quo

ASP.NET:数据库邦定控件DataBind方法

asp.net|控件|数据|数据库 在上一节中我们介绍了<%#  %> 语法,这种情况是Web 窗体有了明确的数据源,即Page.DataBind.这一小节我们来了解DataBind方法.     DataBind方法是ASP.NET中一个很重要的概念,几乎所有的控件都需要它控制数据的操作,它的作用是在为控件指定数据源后,执行数据绑定操作.在上一章的DataSet对象实例中我们已经使用过,利用这个方法为DataGrid控件绑定数据,即DataGrid.DataBind().     ASP.N

ASP.NET 2.0 和数据绑定控件:新的角度,新的做法

asp.net|控件|数据 适用于:Microsoft ASP.NET 1.xMicrosoft ASP.NET 2.0 摘要:了解 ASP.NET 2.0 中的用于生成自定义数据绑定控件的工具是如何演变的.   本页内容 为什么需要新的数据源模型  ASP.NET 2.0 中的数据绑定控件  分析要点  数据绑定机制   列表控件  HeadlineList 示例控件  管理自定义集合  关于复合控件的一点讨论  小结 为什么需要新的数据源模型数据绑定是开发人员在 ASP.NET 1.x 中发

客户端用JavaScript填充DropDownList控件 服务器端读不到值_实用技巧

填充没有任何问题,但是在服务器端却取不出来下拉表中的内容.页面代码如下. 复制代码 代码如下: <form id="form1" runat="server"> <div> <h3>看看用js填充的dropdownlist控件在服务器端能读出来吗?</h3> 三个级联下拉列表框: <asp:DropDownList runat="server" id="bigTypeList&quo

ASP.NET 4过滤数据新控件QueryExtender

在ASP.NET 4中的一个新的控件是QueryExtender.QueryExtender控件是为了简化LinqDatasource或EntityDataSource控件返回的数据过滤而设计的,它主要是将过滤数据的逻辑从数据控件中分离出来.使用QueryExtender是十分容易的事,只需要简单往页面上增加一个QueryExtender控件,指定其数据源是哪个控件并设置过滤条件就可以了.比如,当在页面中显示产品的信息时,你可以使用该控件去显示那些在某个价格范围的产品,也可以搜索用户指定名称的产

一起谈.NET技术,ASP.NET 4过滤数据新控件QueryExtender

在ASP.NET 4中的一个新的控件是QueryExtender.QueryExtender控件是为了简化LinqDatasource或EntityDataSource控件返回的数据过滤而设计的,它主要是将过滤数据的逻辑从数据控件中分离出来.使用QueryExtender是十分容易的事,只需要简单往页面上增加一个QueryExtender控件,指定其数据源是哪个控件并设置过滤条件就可以了.比如,当在页面中显示产品的信息时,你可以使用该控件去显示那些在某个价格范围的产品,也可以搜索用户指定名称的产

在ASP中使用智岛网格控件全过程

过程|控件 在ASP中使用智岛网格控件全过程 -------------------------------------------------------------------------------- 智岛网格控件作为数据的表示层,可以非常方便的进行货币样式.人民币大小写.中文大小写.各种逻辑样式.百分比样式.千分位分割等样式设置:可以冻结.锁定行列.对输入数据进行验证:可对字段设置公式,方便快捷地统计.汇总数据.智岛网格控件以其丰富多样的表现形式.简单易用的操作赢得了广大软件开发人员的一