繁体   English   中英

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

[英]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,尽管LabelForTextBoxFor呈现正确的Surname属性。

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

String类的广泛对象创建一个Editor模板可能会导致意想不到的后果,因为您很可能在代码中有许多EditorFor(x => x.StringValue) ,您希望将此Editor模板应用于该模板。

您可能有另一个EditorFor在此处导致nullref异常。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM