[英]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.