【问题标题】:Format Dates in a Dropdownlistfor using the DisplayFormat Attribute使用 DisplayFormat 属性在下拉列表中格式化日期
【发布时间】: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&lt;SelectListItem&gt;,在其中将SelectListItemText 属性设置为格式化字符串
  • 谢谢@Stephen 我很害怕。不过,我认为我可以使用该解决方案。
  • 所以我只是在我的模型中添加了一个 DisplaySettlementYear 属性,并在第一次加载模型时将其设置为我想要的格式。然后我将 DropdownListFor 绑定到 ID 和 DisplaySettlementYear 属性。

标签: asp.net-mvc-4 razor-2


【解决方案1】:

所以我只是在我的模型中添加了一个 DisplaySettlementYear 属性,并在第一次加载模型时将其设置为我想要的格式。然后我将 DropdownListFor 绑定到 ID 和新的 DisplaySettlementYear 属性

【讨论】:

    猜你喜欢
    • 2014-02-21
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2013-05-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    相关资源
    最近更新 更多