1

首先我的模型:

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 约定应用于我的所有模型属性以进行显示。我要解决这个问题了吗?

4

1 回答 1

3

这是因为您的 partial 本质上是强类型的DateTime,而不是Order。这仍然有效,DisplayFor因为 aDateTime只会调用ToString()自身。但是,它没有名字或固有的标签,所以LabelFor它不会为你做任何事情。

您应该这样做的方式实际上是将Order实例作为Model. 然后:

@Html.LabelFor(m => m.Date): <strong>@Html.DisplayFor(m => m.Date)</strong>

会给你你想要的。

于 2013-02-26T18:37:39.403 回答