如何在EditorFor模板中访问模型?

时间:2015-04-29 12:20:38

标签: c# asp.net asp.net-mvc asp.net-mvc-4

如何在ASP.NET MVC编辑器模板中访问模型?例如,如果父视图包含say:

@Html.EditorFor(x => x.Surname)

然后在Views / Shared / EditorTemplates / String.cshtml里面我们有:

@model String

<div class="field">
    @Html.LabelFor(x => x)
    @Html.TextBoxFor(x => x)
    @Model.Length
</div>

这在@Model.Length失败,因为Model为空,尽管LabelForTextBoxFor呈现正确的Surname属性。

当使用具有等效模板文件的Html.DisplayFor时,Model确实包含给定的字符串值。

1 个答案:

答案 0 :(得分:1)

String这样广泛的内容创建编辑模板可能会产生意想不到的后果,因为您的代码中很可能会有很多EditorFor(x => x.StringValue)希望此编辑器模板适用于。

你可能有另一个EditorFor在这里造成了nullref异常。