当我尝试在模板委托中使用Html.DisplayFor
时,HtmlHelper实例将输入到视图的模型中,而不是传递给委托的项目类型。
在这种情况下我如何使用DisplayFor
?
它认为'm'是一个IEnumerable而不是一个地方,显然是因为它捕获了视图的实例。
@{
Func<Place, HelperResult> variable = @<tr>
<td>@Html.DisplayFor(m => m.Name)</td>
</tr>;
}
答案 0 :(得分:2)
m
引用了视图的模型,例如在您的情况下IEnumerable<SomeModel>
。
Razor Template有一个名为@item
的特殊参数,您应该使用它:
Func<Place, HelperResult> variable = @<tr>
<td>@Html.DisplayFor(m => @item.Name)</td>
</tr>;