代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
Asp.Net
】
DropDownList显示不同的月份对应不同的天数
作者:
Dezai.CN
/ 发布于
2013/1/10
/
772
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); } //////////////////////////////////////////////////////////////////////////////////////////////////////// namespace WebApplication1 { using System; using System.Data; using System.Drawing; using System.Web; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; /// <summary> /// YearMonthDayDownDropList 的摘要说明。 /// </summary> public abstract class YearMonthDayDownDropList : System.Web.UI.UserControl { //选择的年月日如:20021225 public string SelectTime { get { return Request.Form[YearName]+Request.Form[MonthName]+Request.Form[DayName]+Request.Form[HourName]+Request.Form[MinuteName]; } } protected int ServerYear; //服务器当前选择年 protected int ServerMonth;//服务器当前月 protected int ServerNowYear; //服务器当前年 protected int ServerDay; //服务器当前天 protected int ServerMonthDays;//当前月天数 protected int ServerHour;//小时 protected int ServerMinute;//分钟 protected string JavascriptFunName; //此user control发出的函数名称 protected string YearName; //此user control发出的年控件的名称 protected string MonthName;//此user control发出的月控件的名称 protected string DayName; //此user control发出的日控件的名称 protected string HourName;//小时 protected string MinuteName;//分钟 private void Page_Load(object sender, System.EventArgs e) { // 在此处放置用户代码以初始化页面 string id= this.UniqueID; if(!this.Page.IsClientScriptBlockRegistered(id)) { JavascriptFunName="chanday"+id+"()"; YearName="year"+id; MonthName="month"+id; DayName="day"+id; string scriptString ="<script language=javascript>"; scriptString=scriptString+"function "+JavascriptFunName; scriptString=scriptString+ "{ var days;"; scriptString=scriptString+" var currentyear;"; scriptString=scriptString +"days=31;"; scriptString=scriptString+" if(window.document.forms[0]."+MonthName+".value==04||window.document.forms[0]."+MonthName+".value==06||window.document.forms[0]."+MonthName+".value==09||window.document.forms[0]."+MonthName+".value==11)"; scriptString=scriptString+" days=30;"; scriptString=scriptString+"else if(window.document.forms[0]."+MonthName+".value==02) {"; scriptString=scriptString+"Nowyear=window.document.forms[0]."+YearName+".value ;"; scriptString=scriptString+ " if((Nowyear%4==0 &&Nowyear%100!=0) || Nowyear%400==0)"; scriptString=scriptString+" days=29;"; scriptString=scriptString+" else days=28;"; scriptString=scriptString+" }"; scriptString=scriptString+ " flen=window.document.forms[0]."+DayName+".length ;"; scriptString=scriptString+" window.document.forms[0]."+DayName+".length =days;"; scriptString=scriptString+ " i=flen+1;"; scriptString=scriptString+"for(i;i<=days;i++)"; scriptString=scriptString+"{"; scriptString=scriptString+" window.document.forms[0]."+DayName+".options(i-1).text=i;"; scriptString=scriptString+" window.document.forms[0]."+DayName+".options(i-1).value=i;"; scriptString=scriptString+" }"; scriptString=scriptString+"}"; scriptString=scriptString+"</script>"; this.Page.RegisterClientScriptBlock(id, scriptString); } DateTime now=DateTime.Today; ServerNowYear =now.Year ; if(!Page.IsPostBack) { ServerYear=ServerNowYear ; ServerMonth=now.Month; ServerDay=now.Day; ServerMonthDays=GetNowMonthDays(ServerYear,ServerMonth); ServerHour = DateTime.Now.Hour; ServerMinute = DateTime.Now.Minute; } else { ServerYear=Convert.ToInt32(Request.Form[YearName]); ServerMonth=Convert.ToInt32(Request.Form[MonthName]); ServerDay= Convert.ToInt32(Request.Form[DayName]); ServerMonthDays=GetNowMonthDays(ServerYear,ServerMonth); ServerHour = DateTime.Now.Hour; ServerMinute = DateTime.Now.Minute; } } //得到每个月的天数 private int GetNowMonthDays(int ServerYear,int ServerMonth) { int ServerMonthDays=31; if(ServerMonth==4||ServerMonth==6||ServerMonth==9||ServerMonth==11) ServerMonthDays=30; else if(ServerMonth==02) { if((ServerYear%4==0 &&ServerYear%100!=0) || ServerYear%400==0) ServerMonthDays=29; else ServerMonthDays=28; } return ServerMonthDays; } //填充 protected void FillOptions(int StartValue,int OptionsLength,int SelectedOption) { for(int j=StartValue;j<=OptionsLength;j++) { string ShowOption; if(j<10) ShowOption="0"+j.ToString(); else ShowOption=j.ToString(); if(j==SelectedOption) Response.Write(" <OPTION value="+ShowOption+" selected>"+ShowOption+"</OPTION>"); else Response.Write(" <OPTION value="+ShowOption+" >"+ShowOption+"</OPTION>"); } } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN:该调用是 ASP.NET Web 窗体设计器所必需的。 // InitializeComponent(); base.OnInit(e); } /// 设计器支持所需的方法 - 不要使用 /// 代码编辑器修改此方法的内容。 /// </summary> private void InitializeComponent() { this.Load += new System.EventHandler(this.Page_Load); } #endregion } }
试试其它关键字
显示不同的月份
同语言下
.
gzip压缩
.
实现http多线程断点续传下载文件
.
实现多线程断点续传下载大文件
.
生成字符串的 CheckSum
.
根据 UserAgent 获取浏览器的类型和版本
.
根据 Agent 判断是否是智能手机
.
隐藏手机号中间四位为*方法
.
合并图片(二维码和其他图片合并)
.
ASP.NET CORE中判断是否移动端打开网页
.
ASP.NET(C#)实现页面计时(定时)自动跳转
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
Dezai.CN
贡献的其它代码
(
4037
)
.
多线程Socket服务器模块
.
生成随机密码
.
清除浮动样式
.
弹出窗口居中
.
抓取url的函数
.
使用base HTTP验证
.
div模拟iframe嵌入效果
.
通过header转向的方法
.
Session操作类
.
执行sqlite输入插入操作后获得自动编号的ID
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3