MVC Editor仅用于渲染单个属性,而不是EditorTemplate

时间:2016-03-22 20:54:56

标签: asp.net-mvc editorfor editorfortemplate

在编辑器方面遇到了一些问题,我无法理解这种行为。

我有一个对象列表,我想根据该列表呈现编辑器模板。

根据https://stackoverflow.com/a/26069912,EditorFor应为每个对象渲染模板。

  public class Person
{
    public string Name { get; set; }
    public string PhoneNumber { get; set; }
}

模板

@model EditForTest.Models.Person

Name
<td>@Html.TextBoxFor(x => x.Name)</td>
Phone
<td>@Html.TextBoxFor(x => x.PhoneNumber)</td>

在视图中,我得到了一个包含人员列表的视图模型。当我使用

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

模板未呈现,并且在某种程度上第一个属性在页面上呈现。

1 个答案:

答案 0 :(得分:0)

正如@StephenMuecke提到的,我的编辑器模板出了问题。 将模板移动到正确的路径/Views/Shared/EditorTemplates/Person.cshtml后,编辑器就会正确呈现。