【发布时间】:2019-02-25 05:33:54
【问题描述】:
如果当前月份是 3 月,它应该只显示 1 月和 2 月,同样,如果当前月份是 12 月,它应该动态列出(从 1 月到 11 月)。
并且默认值应该是一月。
【问题讨论】:
-
如果当前月份是一月会怎样?
-
默认值应该是一月。 (对不起,我编辑了我的问题)
如果当前月份是 3 月,它应该只显示 1 月和 2 月,同样,如果当前月份是 12 月,它应该动态列出(从 1 月到 11 月)。
并且默认值应该是一月。
【问题讨论】:
你可以这样做:
var previousMonth = DateTime.Now.Month == 1 ? 1 : DateTime.Now.Month - 1
var months = Enumerable.Range(1, previousMonth).Select(i => new { I = i, M = DateTimeFormatInfo.CurrentInfo.GetMonthName(i) });
// <asp:DropDownList runat="server" ID="ddlMonths" />
ddlMonths.DataSource = months;
ddlMonths.DataTextField = "M";
ddlMonths.DataValueField = "I";
ddlMonths.DataBind();
【讨论】: