MVC 编辑器仅用于呈现单个属性,而不是编辑器模板



编辑器有一些问题,我无法理解这种行为。

我有一个对象列表,我想在其中基于该列表渲染编辑器模板。

根据 https://stackoverflow.com/a/26069912 编辑器应为每个对象呈现模板。

  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)

模板不会呈现,并且以某种方式在页面上呈现第一个属性。

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

最新更新