В моем index.cshtml я хочу отобразить WizardStepAttribute
значение
Итак, пользователь будет видеть вверху каждой страницы Шаг 1. Введите информацию о пользователе
I иметь ViewModel под названием WizardViewModel
.Эта модель представления имеет свойство IList
, каждый «шаг» реализует интерфейс IStepViewModel, который является пустым интерфейсом.
У меня есть представление с именем Index.cshtml. В этом представлении отображается EditorFor ()
текущий шаг.
У меня есть собственный ModelBinder, который привязывает представление к новому экземпляру конкретного класса, реализующего IStepViewModel
на основе ] WizardViewModel.CurrentStepIndex
свойство
Я создал настраиваемый атрибут WizardStepAttribute
.
Каждый из моих классов Steps определяется следующим образом.
[WizardStepAttribute(Name="Enter User Information")]
[Serializable]
public class Step1 : IStepViewModel
....
Мое представление строго типизировано для WizardViewModel
, а не для каждого шага. Я не хочу создавать представление для каждой конкретной реализации IStepViewModel
. Я думал, что могу добавить свойство к интерфейсу, но тогда я должен явно реализовать его в каждом классе. (Так что это ничем не лучше)
Я думаю, что могу реализовать это с помощью отражения в интерфейсе, но вы не можете ссылаться на экземпляры в методах интерфейса.