首先是我的模特:
public class Order
{
public DateTime Date {get;set;}
}
我的观点:
@model Order
@Html.Partial("Display", Model.Date)
显示部分:
@Html.LabelFor(x => x): <strong>@Html.DisplayFor(x => x)</strong>
标签未呈现。 DisplayFor渲染日期很好。也可能是相关的,如果我向Order.Date [DisplayName("Order Date")]
添加一个属性,它就不值得尊敬。有什么我做错了吗?我只是想将html约定应用于所有我的模型属性以供显示。我是不是错了?
答案 0 :(得分:3)
这是因为您的部分内容基本上是DateTime
的强类型,而不是Order
。这仍然适用于DisplayFor
,因为DateTime
只会调用ToString()
。但是,它没有名称或固有标签,因此LabelFor
对您无能为力。
您应该这样做,实际上是将Order
实例作为Model
传递给部分。然后:
@Html.LabelFor(m => m.Date): <strong>@Html.DisplayFor(m => m.Date)</strong>
会得到你想要的东西。