Можно ли указать имя шаблона дисплея при определении свойства Тип?Определить шаблон дисплея для пользовательского типа
К примеру, у меня есть несколько классов:
public interface IFoo {}
public class Foo : IFoo {}
public class Bar : IFoo {}
Тогда у меня есть Модель:
public class MyModel{
IFoo IFooExample {get;set;}
}
Тогда я хочу сделать IFooExample
на мой взгляд:
@model MyModel
@Html.DisplayFor(x => x.IFooExample)
Foo
и Bar
могут использовать один и тот же шаблон отображения, то есть ~/Views/Shared/DisplayTemplates/IFoo.cshtml
. Как подключить эту логику к Mvc, так что мне не нужно: a) создавать Foo.cshtml
и Bar.cshtml
или b) из моего вызова View DisplayFor
с перегрузкой для представления (@Html.DisplayFor(x => x.IFooExample, "IFoo.cshtml")
).
Я также не хочу украшать свою модель атрибутом UIHint. Я бы очень хотел, чтобы уточнить информацию об определении Foo
и Bar
:
[UIHint("IFoo.cshtml")]
public class Foo : IFoo{}
[UIHint("IFoo.cshtml")]
public class Bar : IFoo{}
Но UIHint
ей can't be applied at the class level. Так есть ли другой способ сделать это?
Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –