我正在尝试使用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。
这是我的新语言,随时随地学习。
答案 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
)