Вместо использования DisplayFor и EditorFor я хотел бы создать более общий ContentFor. В этом расширении Html он будет учитывать значения метаданных, чтобы определить, как отобразить результирующий элемент управления. Единственная часть головоломки, которую я не могу определить, это: Есть ли способ определить, отображаю ли я в настоящее время DisplayTemplate или EditorTemplate. В качестве реального примера этого при рендеринге строки для экранной версии я хотел бы отобразить ее как a, но при рендеринге версии редактора я хотел бы отобразить ее как текстовое поле.
Чтобы лучше объяснить, скажем, у меня есть два шаблона с именем Address.ascx, один в каталоге DisplayTemplates и один в каталоге EditorTemplates. Я хотел бы, чтобы они оба использовали ContentFor для рендеринга, но в отображаемой версии он отображается как метка, а в версии редактора - как текстовое поле.