Asp.net mvc asp.net mvc 5 html.DisplayFor DisplayFormat显示(名称)不工作
Asp.net mvc asp.net mvc 5 html.DisplayFor DisplayFormat显示(名称)不工作,asp.net-mvc,razor,Asp.net Mvc,Razor,Html.DisplayFor停止显示显示名称和格式化字符串。。。我的代码是贝娄。。。有什么想法吗?我到处找了,什么也没找到。谢谢 [DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}")] [Display(Name = "Date")] public DateTime EventDateTimeDay { get; set; } [Display(Name = "Seconds")] [DisplayFormat(DataFormatStrin
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>
@model IEnumerable
...
@DisplayNameFor(model=>model.EventDateTimeDay)
...
@foreach(模型中的var项目)
{
...
@DisplayFor(modelItem=>item.EventDateTimeDay)
您应该尝试使用DisplayName属性
[DisplayName("Seconds")]
public double Duration { get; set; }
您应该尝试使用DisplayName属性
[DisplayName("Seconds")]
public double Duration { get; set; }
解决了问题。我使用Unity作为IOC,为了减少Unity解决错误,我在UnityConfig中添加了以下内容:
container.RegisterType<ModelMetadataProvider, EmptyModelMetadataProvider>();
container.RegisterType();
删除了数据属性。将其更改为此,效果良好:
container.RegisterInstance<ModelMetadataProvider>(ModelMetadataProviders.Current);
container.RegisterInstance(ModelMetadataProviders.Current);
解决了问题。我将Unity用作IOC,为了减少Unity解决错误,我在UnityConfig中添加了以下内容:
container.RegisterType<ModelMetadataProvider, EmptyModelMetadataProvider>();
container.RegisterType();
删除了数据属性。将其更改为此,效果良好:
container.RegisterInstance<ModelMetadataProvider>(ModelMetadataProviders.Current);
container.RegisterInstance(ModelMetadataProviders.Current);
是的,我也试过了,但不起作用。感谢您的回复。但它没有解释为什么DisplayFormat不起作用。看起来这已经在另一篇文章中得到了回答[链接]是的,我也试过了,但不起作用。谢谢你的回复。这并没有解释为什么DisplayFormat不起作用。看起来这已经在另一篇文章中得到了回答[链接]