DropDownList自动生成年月日
DropDownList自动生成年月日
aspx页面上有三个dropdownlist控件,
dropdownlist1 表示年,dropdownlist2表示月,dropdownlist3表示天;
注意用将这三个dropdownlist控件的autopostback属性设为true。
用户能够方便地选择年月日,并且每月的日期会随着用户选择不同的年,月而发生相应的变化
代码直接复制过去即可使用
前台代码
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList2_SelectedIndexChanged1">
</asp:DropDownList>
<asp:DropDownList ID="DropDownList3" runat="server">
</asp:DropDownList>
</div>
后台代码
protected void Page_Load(object sender, 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();
}
//选择年
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
int year, month;
year = Int32.Parse(DropDownList1.SelectedValue);
month = Int32.Parse(DropDownList2.SelectedValue);
binddays(year, month);
}
//选择月
protected void DropDownList2_SelectedIndexChanged1(object sender, EventArgs e)
{
int year, month;
year = Int32.Parse(DropDownList1.SelectedValue);
month = Int32.Parse(DropDownList2.SelectedValue);
binddays(year, month);
}
comboBox控件自动生成年月日
//判断闰年
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;
}
this.comboBox3.DataSource = alday;
}
private void Form1_Load(object sender, EventArgs e)
{
//绑定年
ArrayList alyear = new ArrayList();
int i;
for (i = 1900; i <= 2099; i++)
alyear.Add(i);
this.comboBox1.DataSource = alyear;
//绑定月
ArrayList almonth = new ArrayList();
for (i = 1; i <= 12; i++)
almonth.Add(i);
this.comboBox2.DataSource = almonth;
int year, month;
year = Int32.Parse(this.comboBox1.SelectedValue.ToString());
month = Int32.Parse(this.comboBox2.SelectedValue.ToString());
binddays(year, month);//绑定天
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int year, month;
year = Int32.Parse(this.comboBox1.SelectedValue.ToString());
month = 1;
binddays(year, month);
}
private void comboBox2_SelectedIndexChanged(object sender, EventArgs e)
{
int year, month;
year = Int32.Parse(this.comboBox1.SelectedValue.ToString());
month = Int32.Parse(this.comboBox2.SelectedValue.ToString());
binddays(year, month);
}
DropDownList自动生成年月日的更多相关文章
- 《音乐商店》第4集:自动生成StoreManager控制器
一.自动生成StoreManager控制器 二.查看 StoreManager 控制器的代码 现在,Store Manager 控制器中已经包含了一定数量的代码,我们从头到尾重新过一下. 1.访问数据 ...
- MySql主键自动生成,表、实体、C#调用方法
1.表:mysql建表语句 DROP TABLE IF EXISTS `keycode`; CREATE TABLE `keycode` ( `Id` ) NOT NULL AUTO_INCREMEN ...
- [原创]超强C#图片上传,加水印,自动生成缩略图源代码
<%@ Page Language=“C#“ AutoEventWireup=“true“ %> <%@ Import Namespace=“System“ %> <%@ ...
- SQL Server镜像自动生成脚本
SQL Server镜像自动生成脚本 镜像的搭建非常繁琐,花了一点时间写了这个脚本,方便大家搭建镜像 执行完这个镜像脚本之后,最好在每台机器都绑定一下hosts文件,不然的话,镜像可能会不work 1 ...
- 使用mybatis-generator在自动生成Model类和Mapper文件
使用mybatis-generator插件可以很轻松的实现mybatis的逆向工程,即,能通过表结构自动生成对应的java类及mapper文件,可以大大提高工作效率,并且它提供了很多自定义的设置可以应 ...
- 使用python自动生成docker nginx反向代理配置
由于在测试环境上用docker部署了多个应用,而且他们的端口有的相同,有的又不相同,数量也比较多,在使用jenkins发版本的时候,不好配置,于是想要写一个脚本,能在docker 容器创建.停止的时候 ...
- 9.1.3 .net framework通过业务逻辑层自动生成WebApi的做法
首先需要说明的是这是.net framework的一个组件,而不是针对.net core的.目前工作比较忙,因此.net core的转换正在编写过程中,有了实现会第一时间贴出来. 接下来进入正题.对于 ...
- 9.1.2 asp.net core 自动生成组合查询
在做系统的时候,经常遇到前台录入一大堆的查询条件,然后点击查询提交后台,在Controller里面生成对应的查询SQL或者表达式,数据库执行再将结果返回客户端. 例如如下页面,输入三个条件,日志类型. ...
- mybatis-generator-gui--一个mybatis代码自动生成界面工具
mybatis-generator-gui是什么 介绍mybatis-generator-gui之前,有必要介绍一下什么是mybatis generator(熟悉的同学可以跳过这一节).我们都知道,通 ...
随机推荐
- 【转】JNI 对象处理
原文网址:http://leidiqiu.iteye.com/blog/720307 JNI 的基本问题就是解决 Java 和 C++ 代码互相调用的通信问题,在 C++ 代码编写过程中最大的问题莫过 ...
- ScrollView自动滑到底部
// 自动滑动到底部 mScrollView.post(new Runnable() { @Override public void run() { mScrollView.fullScroll(Sc ...
- LeetCode--判断二叉树是否对称
主要是检查该二叉树是否是自己的一个镜像(也就是以中心轴对称的) 举例来说,下面显示的就是一个对称的二叉树 1 / \ 2 2 / \ / \ 3 4 4 3 下面显示的就不是一个对称的二叉树了 1 / ...
- 《A First Course in Probability》-chaper1-组合分析-方程整数解的个数
在概率论问题中求解基本事件.某个事件的可能情况数要涉及到组合分析. 而这一部分主要涉及到简单的计数原理和二项式定理.多项式定理. 我们从一个简单的实例入手. 方程的整数解个数: Tom喜欢钓鱼,一直他 ...
- 个人整理--Java编码规范
编码规范对于开发人员来说是非常重要的,有以下几个原因: 1.一个软件的生命周期中,80%的花费在于维护 2.几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 3.编码规范可以改善软件 ...
- js中arguments的应用
Javascrip中的每个函数都会有一个Arguments对象实例arguments,它引用着函数的实参,可以用数组下标的方式"[]"引用arguments的元素.argument ...
- input页面居中,软键盘覆盖input
input框位于底部 对于ios的软键盘遮盖input输入框问题,网上已经有了一些解决办法,无非就是改变布局,再加scroll.js插件实现滚动, input框位于顶部 这种情况不会出现问题, inp ...
- 隐式intent
使用隐式Intent,我们不仅可以启动自己程序内的活动,还可以启动其他程序的活动, 这里我们首先指定了Intent的action是Intent.ACTION_VIEW,这是一个Android系统内置的 ...
- UIActionSheet底部弹出框
<底部弹出框来提示用户信息> 1.遵循代理方法<UIActionSheetDelete> 2.调用放法 [UIActionSheet *sheet=[UIActio ...
- ASP.NETserver控件使用之Reportviewer 报表
1. Reportviewer 报表 1.1. Reportviewer控件 注:本教程附2个事例: l 演练:在本地处理模式下将数据库数据源与 ReportViewer W ...