DropDownList的问题

南瓜饼 2010-11-19 01:28:13
我现在有三个DropDownList分别用来显示年月日,当我改变年和月时候,第三个DropDownList的表示天数的值也随之改变
比如我分别选择2000年和二月,这是时候DropDownList中最多就变成29,这个到底要用什么事件啊 前台和后台怎么弄 麻烦各位了 谢谢!!!
...全文
188 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wyq29 2010-11-19
  • 打赏
  • 举报
回复
用 my97控件吧 一行引用代码就完美解决了
koko0123 2010-11-19
  • 打赏
  • 举报
回复
在月的dropdownlist的selectedindexchange事件中绑定天的dropdownlist,
根据选择的年,就能确定这个年的月,最后一个就可以判断这个年的日了
  • 打赏
  • 举报
回复
在月的dropdownlist的selectedindexchange事件中绑定天的dropdownlist,同事判断当前年份是不是闰年。
zakumiwb 2010-11-19
  • 打赏
  • 举报
回复
这个是联动问题 google
ycproc 2010-11-19
  • 打赏
  • 举报
回复
已经有现成的这样的控件
随便下载一个
Teng_s2000 2010-11-19
  • 打赏
  • 举报
回复
Framework有获取的某年某月有多少天的方法啊
chen_ya_ping 2010-11-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 wenwei19861106 的回复:]
我现在有三个DropDownList分别用来显示年月日,当我改变年和月时候,第三个DropDownList的表示天数的值也随之改变
比如我分别选择2000年和二月,这是时候DropDownList中最多就变成29,这个到底要用什么事件啊 前台和后台怎么弄 麻烦各位了 谢谢!!!
[/Quote]
月跟年和日都没有关系,但是日跟年和月都有关系,就这么简单的逻辑,楼主搞的清吗啊?
  • 打赏
  • 举报
回复
方法还是有很多的、
zxqiangwhere 2010-11-19
  • 打赏
  • 举报
回复
用JS就很容易实现:
var endDate = new Date(selectYear, selectMonth, 0).getDate();//selectYear为选择的年,selectMonth为选择的月

C#:
DateTime dt1 = DateTime.Today;
int n = DateTime.IsLeapYear(dt1.Year) ? 366 : 365;
if (n == 365)
{
//2月的最大一天为28
}
else
{
//2月的最大一天为29
}
int mouthdays = DateTime.DaysInMonth(dt1.Year,dt1.Month);//計算該月有多少天
q107770540 2010-11-19
  • 打赏
  • 举报
回复
比如我分别选择2000年和二月,这是时候DropDownList中最多就变成29,这个到底要用什么事件啊
===========
在月的dropdownlist的selectedindexchange事件中绑定天的dropdownlist
qq346127416 2010-11-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jshi123 的回复:]
HTML code

<%@ Page Language="C#" %>

<!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……
[/Quote]

顶下
myhope88 2010-11-19
  • 打赏
  • 举报
回复
你可以使用js或者使用selectedindexchange事件啊
jshi123 2010-11-19
  • 打赏
  • 举报
回复

<%@ Page Language="C#" %>

<!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>test</title>
</head>
<body>
<form id="form1" runat="server">

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="true" OnSelectedIndexChanged="YearOrMonthChanged" />年
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="true" OnSelectedIndexChanged="YearOrMonthChanged" />月
<asp:DropDownList ID="DropDownList3" runat="server"/>日

</form>
</body>
</html>

<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DropDownList1.DataSource = Enumerable.Range(1970, 40);
DropDownList2.DataSource = Enumerable.Range(1, 12);
DropDownList3.DataSource = Enumerable.Range(1, 31);
DropDownList1.DataBind();
DropDownList2.DataBind();
DropDownList3.DataBind();
}
}

protected void YearOrMonthChanged(object sender, EventArgs e)
{
int year = Convert.ToInt32(DropDownList1.Text);
int month = Convert.ToInt32(DropDownList2.Text);
int day = Convert.ToInt32(DropDownList3.Text);
DateTime date = new DateTime(year, month, 1);
int days = (int)(date.AddMonths(1) - date).TotalDays;
DropDownList3.DataSource = Enumerable.Range(1, days);
DropDownList3.DataBind();
DropDownList3.Text = Math.Min(day, days).ToString();
}

</script>

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧