我有这样的模特:
public class HomeViewModel
{
public IEnumerable<NewsItem> NewsItems { get; set; }
public decimal TotalSales { get; set; }
public IEnumerable<SalesOrderHeader> SalesInformation { get; set; }
}
在视图中我想这样做:
<p>@Html.Display(Model.TotalSales)</p>
但是我遇到了这个错误:
HomeViewModel does not contain a definition for Display"
这很奇怪,因为它应该是具有Html
的{{1}}类型。
我尝试实现的目标的正确语法是什么?
答案 0 :(得分:4)
最好使用DisplayFor
(Display
)这样做。如果您需要添加一些显示属性(例如只显示最后2位数字),您只需在ViewModel
中执行此操作一次。
<p>@Html.DisplayFor(model => model.TotalSales)</p>
如果你真的想使用Display
,那么MVC足够智能,可以使用Model
中的数据进行渲染。
<p>@Html.Display("TotalSales")</p>
答案 1 :(得分:0)
好的,实际上是:
<p>@Model.TotalSales</p>
解决!