在ASP.NET MVC中使用3个下拉列表(日/月/年)选择日期

时间:2013-01-22 07:57:14

标签: asp.net-mvc asp.net-mvc-4 asp.net-web-api

我正在使用带有WEB API的ASP.NET MVC。

我需要提供用户输入他的出生日期,输入应该是3下拉

  • 选择日
  • 选择月份和
  • 选择年份

我可以使用以下代码填充下拉列表...

@Html.DropDownList("month", Enumerable.Range(1, 12).Select(i => new SelectListItem { Value = i.ToString(), Text = System.Globalization.CultureInfo.InvariantCulture.DateTimeFormat.GetMonthName(i)}), "-- Month --")
@Html.DropDownList("day", Enumerable.Range(1, 31).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()}), "-- Day --")
@Html.DropDownList("year", Enumerable.Range(1920, DateTime.Now.Year).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()}), "-- Year --")

但是,我仍然需要编写自定义js或C#代码以确保例如:2月份特定年份的等待时间不超过28天等。

还有其他方法可以建议吗...请分享您的想法。

编辑:我没有使用Jquery日期选择器,因为在我的要求中,我必须在日,月和年中有3个下拉菜单,其余的日期选择中的其他地方我使用过Jquery DatePicker。

2 个答案:

答案 0 :(得分:0)

您必须刷新月份下拉菜单中的天数下拉菜单,并根据所选的月份加载天数

答案 1 :(得分:-2)

对于日期选择器来说,这绝对是一个很好的用例,例如jQuery UI中的那个!

修改

鉴于您的新要求,您应该查看How to fill cascading dropdownlist each other by using jquery in mvc 3?