asp.net mvc 5 html.DisplayFor DisplayFormat显示(名称)不起作用

时间:2015-06-29 16:18:45

标签: asp.net-mvc razor

Html.DisplayFor停止显示显示名称和格式化字符串...我的代码是吼...任何想法?我搜索过任何找不到的东西。感谢

[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")]
[Display(Name = "Date")]
public DateTime EventDateTimeDay { get; set; }

[Display(Name = "Seconds")]
[DisplayFormat(DataFormatString = "{0:0.00} s")]
public double Duration { get; set; }

Razor .cshtml:

@model IEnumerable<OurClass>
...
        <th>
            @Html.DisplayNameFor(model => model.EventDateTimeDay)
        </th>

...
    @foreach (var item in Model)
    {
...
            <td>
            @Html.DisplayFor(modelItem => item.EventDateTimeDay)
            </td>

2 个答案:

答案 0 :(得分:0)

您应该尝试使用DisplayName属性

    [DisplayName("Seconds")]
    public double Duration { get; set; }

答案 1 :(得分:0)

找出问题所在。我使用Unity作为IOC并减少统一解决错误我在UnityConfig中添加了这个:

container.RegisterType<ModelMetadataProvider, EmptyModelMetadataProvider>();

消灭了数据属性。将其更改为此并且工作正常:

container.RegisterInstance<ModelMetadataProvider>(ModelMetadataProviders.Current);