【问题标题】:Select Date using 3 drop downs (day/month/year) in ASP.NET MVC在 ASP.NET MVC 中使用 3 个下拉菜单(日/月/年)选择日期
【发布时间】:2019-04-09 21:43:22
【问题描述】:

我正在使用带有 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 Date Picker,因为在我的要求中,我必须有 3 个下拉菜单用于日期、月份和年份,以及应用程序中的其他所有位置,以用于其余日期选择我用过 Jquery DatePicker。

【问题讨论】:

  • 你为什么不用jQuery DatePicker?
  • 使用一个日期选择器插件/控件,它会为你处理这些
  • @CuongLe 我没有使用 Jquery 日期选择器,因为在我的要求中,我必须有 3 个下拉菜单用于日期、月份和年份,应用程序中的其他任何地方都可以选择我拥有的其余日期使用 Jquery DatePicker。
  • 我知道这是一个非常老的问题,我对此没有任何答案,但只是使用此代码在我的网站中添加了三个下拉菜单,并想告诉第三个下拉菜单正在占用值太多,所以如果有人使用此代码,请更正第三个下拉列表,如下所示 @Html.DropDownList("year", Enumerable.Range(1920, DateTime.Now.Year - 1920).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString()}), "-- 年 --")

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


【解决方案1】:

您必须在月份下拉列表更改时刷新天数下拉菜单并根据所选月份加载天数

【讨论】:

    【解决方案2】:

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

    编辑:

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

    【讨论】:

    • 我没有使用 Jquery 日期选择器,因为在我的要求中,我必须有 3 个下拉菜单,用于日期、月份和年份,应用程序中的其他任何地方都可以使用 Jquery日期选择器。
    • 谢谢@Yannick 看看。
    猜你喜欢
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多