[英]How do you access the model in an EditorFor template?
如何在ASP.NET MVC编辑器模板中访问模型? 例如,如果父视图包含说:
@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
为null,尽管LabelFor
和TextBoxFor
呈现正确的Surname属性。
当Html.DisplayFor
带有等效模板文件的Html.DisplayFor
时, Model
确实包含给定的字符串值。
为String
类的广泛对象创建一个Editor模板可能会导致意想不到的后果,因为您很可能在代码中有许多EditorFor(x => x.StringValue)
,您不希望将此Editor模板应用于该模板。
您可能有另一个EditorFor
在此处导致nullref异常。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.