Ответ 1
Шаблоны редакторов работают по соглашению. Имя шаблона должно совпадать с именем типа. Например, если SomeValue
является типом int
, вы можете написать собственный шаблон редактора в ~/Views/Shared/EditorTemplates/Int32.cshtml
, который будет использоваться. В этом случае все целые типы будут использовать этот настраиваемый шаблон при написании @Html.EditorFor(model => model.SomeValue)
.
Если вы не хотите переопределять все шаблоны для целых типов, вы можете написать определенный именованный шаблон ~/Views/Shared/EditorTemplates/Number.cshtml
, который можно использовать только для некоторых свойств, указав это имя шаблона в качестве второго аргумента помощнику EditorFor
: @Html.EditorFor(model => model.SomeValue, "Number")
или украсив ваше свойство модели просмотра атрибутом [UIHint]
:
[UIHint("Number")]
public int SomeValue { get; set; }
а затем просто используя @Html.EditorFor(model => model.SomeValue)
будет отображать настраиваемый шаблон Number.cshtml
.
Я также рекомендую вам прочитать Brad Wilson blog post
о шаблонах по умолчанию в ASP.NET MVC.