Создание подклассов ViewPage для совместного использования общих ViewData: это глупо? - PullRequest
0 голосов
/ 18 февраля 2009

Я настраиваю мастера. Все представления моего мастера требуют доступа к общим данным для отображения, таким как TotalWizardSteps и CurrentWizardStep. Я пытаюсь найти лучший способ добавить эти общие данные в ViewDataDictionary. Я думаю о создании своего собственного WizardStepViewPage. Этот подкласс будет иметь свойство 'WizardData', которое возвращает объект WizardData. Это позволило бы мне написать следующий код в моих представлениях:

<p>Wizard Step:<%= WizardData.CurrentStep %></p>

Резервным хранилищем для этого объекта WizardData был бы ViewDataDictionary и несколько непривлекателен для воспроизведения ключ, такой как "__TheWizardData". Я бы установил значение этого ключа с помощью actionfilter.

Это звучит грязно, но я думаю, что это будет работать. Это глупо, хотя? Есть ли лучший способ добиться этого?

Я хочу:

  • Строго типизированный доступ к wizardData в html-разметке
  • Чтобы мои действия не знали о необходимости создания данных мастера
  • Чтобы мои строго типизированные классы viewData игнорировали wizardData

1 Ответ

3 голосов
/ 18 февраля 2009

Я думаю, вы должны создать класс модели, который содержит необходимую информацию, и использовать ее для создания строго типизированного представления.

Я не вижу веской причины, по которой вы можете скрыть WizardData от строго типизированных моделей, но если вы действительно хотите это сделать, почему бы вам не создать метод расширения для ViewPage вместо наследования? Наследование не будет работать хорошо для различных типов ViewPage (типизированный, нетипизированный).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...