用一天中的小时剃刀填充下拉列表

时间:2016-04-15 20:22:33

标签: c# asp.net-mvc asp.net-mvc-4 razor

我正在尝试使用razor(mvc 5)在一天中的小时填充下拉列表。我使用了我发现的一个例子:

@Html.DropDownListFor(Model => Model.StartTime,
    Enumerable.Range(00, 24).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString() }), "-- Hour --")

它显示了列表,但据我所知,因为我使用.ToString()它转换了一天的小时数(我在模型中将开始时间定义为整数) 字符串和抑制所有前导零。我可以使用什么方法以24小时格式显示小时数,并且让我说我希望我的默认值显示而不是每天一小时的字面小时,例如06。

这是我的新语言,随时随地学习。

1 个答案:

答案 0 :(得分:1)

您可以使用前导零填充字符串。

6.ToString("D2");
// Output: 06

对于默认值:(尚未经过测试)

@{ string defaultValue = string.IsNullOrEmpty(Model.StartTime) ? "06" : null; }
@Html.DropDownListFor
(
    Model =>
        Model.StartTime,
        Enumerable.Range(00, 24).Select(i => new SelectListItem { Value = i.ToString(), Text = i.ToString() }),
        "-- Hour --",
        defaultValue
)