如何在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
为空,尽管LabelFor
和TextBoxFor
呈现正确的Surname属性。
当使用具有等效模板文件的Html.DisplayFor
时,Model
确实包含给定的字符串值。
答案 0 :(得分:1)
为String
这样广泛的内容创建编辑模板可能会产生意想不到的后果,因为您的代码中很可能会有很多EditorFor(x => x.StringValue)
个不希望此编辑器模板适用于。
你可能有另一个EditorFor
在这里造成了nullref异常。