生日选择下拉框范例

//Default.aspx文件
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
    <script type="text/javascript">
     var bigArray=new Array(1,3,5,7,8,10,12);
   function OnSelectChange(year,month,day)
   {
      if(month.value==2)//选中的月份为2月
      {
        if(checkYear(year.value))//闰年
        {
           fillDay(day,29);
        }
        else
        {
           fillDay(day,28);
        }
      }
      else
      {
         if(inArray(month.value,bigArray))
         {
           fillDay(day,31);
         }
         else
         {
           fillDay(day,30);
         }
      }
   }
   function checkYear(year)
   {
     return (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) ? 1 : 0;
   }
   function fillDay(day,days)
   {
      while(day.options.length>0)
      {
        day.remove(0);
      }
      for(i=1;i<=days;i++)
      {
        var oOption=document.createElement("OPTION");
        if(i<10)
        {
            oOption.innerText="0"+i;
        }
        else
        {
            oOption.innerText=i;
        }
        oOption.value=i;
        day.appendChild(oOption);
      }
   }
   function inArray(oObj,oArray)
   {
     for(i=0;i<oArray.length;i++)
     {
       if(oObj==oArray[i])
       {
         return true;
       }
     }
     return false;
   }

    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:DropDownList ID="Year" runat="server">
        </asp:DropDownList>
        <asp:DropDownList ID="Month" runat="server">
        </asp:DropDownList>
        <asp:DropDownList ID="Day" runat="server">
        </asp:DropDownList></div>
    </form>
</body>
</html>


//Default.aspx.cs文件
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //填充DropDownList
            int i = 0;
            Year.Items.Clear();
            for (i = 1900; i <= DateTime.Now.Year; i++)
            {
                ListItem item = new ListItem(i.ToString(), i.ToString());
                Year.Items.Add(item);
            }
            Month.Items.Clear();
            for (i = 1; i <= 12; i++)
            {
                string t = i < 10 ? "0" + i.ToString() : i.ToString();
                ListItem item = new ListItem(t, i.ToString());
                Month.Items.Add(item);
            }
            Day.Items.Clear();
            for (i = 1; i <= 31; i++)
            {
                string t = i < 10 ? "0" + i.ToString() : i.ToString();
                ListItem item = new ListItem(t, i.ToString());
                Day.Items.Add(item);
            }
            //给年和月的onchange 绑定方法,用于处理闰年的情况
            Year.Attributes["onchange"] = "OnSelectChange(" + Year.ClientID + "," + Month.ClientID + "," + Day.ClientID + ");";
            Month.Attributes["onchange"] = "OnSelectChange(" + Year.ClientID + "," + Month.ClientID + "," + Day.ClientID + ");";
            Year.SelectedValue = DateTime.Now.Year.ToString();
            Month.SelectedValue = DateTime.Now.Month.ToString();
            Day.SelectedValue = DateTime.Now.Day.ToString();
        }
    }
    //公共属性,用于获取设置整个控件的日期值
    public DateTime Date
    {
        get { return DateTime.Parse(Year.SelectedValue + "-" + Month.SelectedValue + "-" + Day.SelectedValue); }
        set
        {
            Year.SelectedValue = value.Year.ToString();
            Month.SelectedValue = value.Month.ToString();
            Day.SelectedValue = value.Day.ToString();
        }
    }

}
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值