Вы должны назвать шаблон редактора AspectViewModel.cshtml
, если он строго напечатан как AspectViewModel
. Тогда все, что вам нужно сделать, это:
@model AspectViewModel
@Html.EditorForModel()
или
@model SomeViewModel
@Html.EditorFor(x => x.Aspect)
, где Aspect
свойство SomeViewModel
имеет тип AspectViewModel
.
Соглашение состоит в том, что редактор / экран должен называться как тип свойства, для которого вы его вызываете, а не как имя этого свойства.
Они также отлично работают с коллекциями. Например, если у вас есть следующее свойство:
public class SomeViewModel
{
public IEnumerable<AspectViewModel> Aspects { get; set; }
}
и вы используете:
@model SomeViewModel
@Html.EditorFor(x => x.Aspects)
, тогда шаблон редактора ~/Views/Shared/EditorTemplates/AspectViewModel.cshtml
будет отображаться для каждого элемента этой коллекции. Благодаря этому вам больше не нужно писать циклы for
/ foreach
в ваших представлениях.