【发布时间】:2015-09-17 06:40:19
【问题描述】:
我想使用以下属性的 DisplayFormat 属性,以便在填充我的 dropdownlistfor 时使用该格式。谁能告诉我这是否可能?
我班级的财产
[Required]
[DisplayName("Settlement Year")]
[DisplayFormat(DataFormatString = "{0:MMMM-yyyy}")]
public DateTime SettlementYear { get; set; }
DropDownlistFor 的 Razor 代码
<div class="form-group">
@Html.LabelFor(model => model.SettlementMonthID, htmlAttributes: new {@class = "control-label col-md-4"})
<div class="col-md-7 input-group">
<span class="input-group-addon">
<span class="glyphicon glyphicon-calendar"></span>
</span>
@Html.DropDownListFor(model => model.SettlementMonthID, new SelectList(Model.SettlementMonths, "Id", "SettlementYear"), "- Select A Settlement Month -", new { @class = "form-control dropdown" })
@Html.ValidationMessageFor(model => model.SettlementMonthID, "", new { @class = "text-danger" })
</div>
</div>
【问题讨论】:
-
不,那是不可能的。您需要生成一个
IEnumerable<SelectListItem>,在其中将SelectListItem的Text属性设置为格式化字符串 -
谢谢@Stephen 我很害怕。不过,我认为我可以使用该解决方案。
-
所以我只是在我的模型中添加了一个 DisplaySettlementYear 属性,并在第一次加载模型时将其设置为我想要的格式。然后我将 DropdownListFor 绑定到 ID 和 DisplaySettlementYear 属性。
标签: asp.net-mvc-4 razor-2