public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
int tYear = DateTime.Now.Year; //取得当前的年份
int tMonth = DateTime.Now.Month; //取得当前的月份
int tDay = DateTime.Now.Day; //取得当前的日期
int MaxDay = 30;
int y; for (int i = tYear; i > (tYear - 150); i--)
{
YearDrop.Items.Add(i.ToString()); //输出年的下拉框
}
for (int a = 1; a <= 12; a++)
{
MonthDrop.Items.Add(a.ToString()); //输出月的下拉框
}
for (int c = 1; c < MaxDay; c++)
{
DayDrop.Items.Add(c.ToString()); //输出日的下拉框
}
}}以上是未完成的代码;
要求1.瑞年二月MaxDay为28;
2.大月份的时候MaxDay为31;
3.小月份的时候MaxDay为30;
小弟之前作过好几次都出现日的下拉框值会变很多的问题;本人刚学。net望各位大侠们能够指点迷津;谢谢
{
protected void Page_Load(object sender, EventArgs e)
{
int tYear = DateTime.Now.Year; //取得当前的年份
int tMonth = DateTime.Now.Month; //取得当前的月份
int tDay = DateTime.Now.Day; //取得当前的日期
int MaxDay = 30;
int y; for (int i = tYear; i > (tYear - 150); i--)
{
YearDrop.Items.Add(i.ToString()); //输出年的下拉框
}
for (int a = 1; a <= 12; a++)
{
MonthDrop.Items.Add(a.ToString()); //输出月的下拉框
}
for (int c = 1; c < MaxDay; c++)
{
DayDrop.Items.Add(c.ToString()); //输出日的下拉框
}
}}以上是未完成的代码;
要求1.瑞年二月MaxDay为28;
2.大月份的时候MaxDay为31;
3.小月份的时候MaxDay为30;
小弟之前作过好几次都出现日的下拉框值会变很多的问题;本人刚学。net望各位大侠们能够指点迷津;谢谢
if (tYear % 4 == 0 && tYear % 100 != 0 || tYear % 400 == 0)
MaxDay = 29;
else
MaxDay = 28;
for (int c = 1; c < MaxDay; c++)
{
DayDrop.Items.Add(c.ToString()); //输出日的下拉框
}这个循环里取到
for (int i = tYear; i > (tYear - 150); i--)
{
YearDrop.Items.Add(i.ToString()); //输出年的下拉框
}
取到备选中的年的值呢?
<%@ Page Language="C#" Debug="true" EnableViewState="true" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
int[] D = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }; protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
int tYear = DateTime.Now.Year; //取得当前的年份
int tMonth = DateTime.Now.Month; //取得当前的月份
int tDay = DateTime.Now.Day; //取得当前的日期
for (int i = tYear; i > (tYear - 150); i--)
{
YearDrop.Items.Add(i.ToString()); //输出年的下拉框
}
for (int a = 1; a <= 12; a++)
{
MonthDrop.Items.Add(a.ToString()); //输出月的下拉框
} if (DateTime.IsLeapYear(tYear)) D[1] = 29;
for (int c = 1; c <= D[tMonth - 1]; c++)
{
DayDrop.Items.Add(c.ToString()); //输出日的下拉框
}
}
} protected void x_SelectedIndexChanged(object sender, EventArgs e)
{ String y = YearDrop.SelectedValue;
String m = MonthDrop.SelectedValue;
if (String.IsNullOrEmpty(y) || String.IsNullOrEmpty(m))
{
Page.ClientScript.RegisterStartupScript(Page.GetType(), "js", "alert('请先选择年、月')", true);
return;
}
DateTime d = new DateTime(int.Parse(y), int.Parse(m), 1); if (DateTime.IsLeapYear(int.Parse(y)))
{
D[1] = 29;
}
else
{
D[1] = 28;
}
DayDrop.Items.Clear();
for (int i = 1; i <= D[int.Parse(m) - 1]; i++)
{
DayDrop.Items.Add(i.ToString());
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
</head>
<body>
<form id="form1" runat="server" method="post">
<asp:DropDownList ID="YearDrop" runat="server" AutoPostBack="true" OnSelectedIndexChanged="x_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="MonthDrop" runat="server" AutoPostBack="true" OnSelectedIndexChanged="x_SelectedIndexChanged">
</asp:DropDownList>
<asp:DropDownList ID="DayDrop" runat="server">
</asp:DropDownList>
</form>
</body>
</html>
{
int inf = Convert.ToInt32(ddlnf.SelectedValue);
if ((inf % 4 == 0 && inf % 100 != 0) || inf % 400 == 0)
{
return 1;
}
else
{
return 0;
}
}
protected void ddlmonth_SelectedIndexChanged(object sender, EventArgs e)
{
string year= ddlyear.SelectedValue;
}
4 6 9 11 是30天
2 是28或29天 int MaxDay=0;
switch(tMonth)//tMonth 你定义的月
{
case 1:
MaxDay=31;
case 3:
MaxDay=31;
case 5:
MaxDay=31;
case 7:
MaxDay=31;
case 8:
MaxDay=31;
case 10:
MaxDay=31;
case 12:
MaxDay=31;
case 4:
MaxDay=30;
case 6:
MaxDay=30;
case 9:
MaxDay=30;
case 11:
MaxDay=30;
}
if ((inf % 4 == 0 && inf % 100 != 0) || inf % 400 == 0)//判断是否是闰年
{
MaxDay=29;
}
else
{
MaxDay=28; } for (int c = 1; c < MaxDay; c++)
{
DayDrop.Items.Add(c.ToString()); //输出日的下拉框
}
1 3 5 7 8 10 12 是31天
4 6 9 11 是30天
2 是28或29天 int MaxDay=0;
switch(tMonth)//tMonth 你定义的月
{
case 1:
MaxDay=31;
case 3:
MaxDay=31;
case 5:
MaxDay=31;
case 7:
MaxDay=31;
case 8:
MaxDay=31;
case 10:
MaxDay=31;
case 12:
MaxDay=31;
case 4:
MaxDay=30;
case 6:
MaxDay=30;
case 9:
MaxDay=30;
case 11:
MaxDay=30;
}
if(tMonth==2)
{
if ((inf % 4 == 0 && inf % 100 != 0) || inf % 400 == 0)//判断是否是闰年
{
MaxDay=29;
}
else
{
MaxDay=28; }
}
for (int c = 1; c < MaxDay; c++)
{
DayDrop.Items.Add(c.ToString()); //输出日的下拉框
}