在模板委托

时间:2015-08-25 12:26:06

标签: asp.net-mvc razor

当我尝试在模板委托中使用Html.DisplayFor时,HtmlHelper实例将输入到视图的模型中,而不是传递给委托的项目类型。

在这种情况下我如何使用DisplayFor

它认为'm'是一个IEnumerable而不是一个地方,显然是因为它捕获了视图的实例。

@{
    Func<Place, HelperResult> variable = @<tr>
                                             <td>@Html.DisplayFor(m => m.Name)</td>
                                         </tr>;
}

1 个答案:

答案 0 :(得分:2)

m引用了视图的模型,例如在您的情况下IEnumerable<SomeModel>

Razor Template有一个名为@item的特殊参数,您应该使用它:

Func<Place, HelperResult> variable = @<tr>
                                               <td>@Html.DisplayFor(m => @item.Name)</td>
                                           </tr>;