2011-12-21 2 views
2

Вопрос: Как создать объект, который создается внутри фильтра действий, доступного в методе действий?Создавать режим просмотра в фильтре действий?

фона:

У меня есть многочисленные формы (среди прочего) в веб-сайте MVC.

У каждого есть своя собственная модель, которая наследуется от базового типа (FormPage).

Мое соглашение для этого состоит в том, чтобы назвать тип viewmodel в качестве имени действия, предшествующего «Форме». Поэтому моя модель просмотра ContactUs - FormContactUs: FormPage.

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

Установка режима просмотра, выбор типа на основе имени действия и соглашения об именах, а также установка базовых свойств, общих для всех форм из фильтра действий, сделают это чуть более DRY-er. Мое единственное препятствие, похоже, заключается в том, как создать объект, созданный внутри фильтра, доступный в методе действий.

+1

Можете ли вы показать код, окружающий вашу проблемную область? – Jan

ответ

3

В: Как создать объект, созданный внутри фильтра действий, доступного в методе действий?

Вы можете сохранить его в HttpContext.Items, который доступен на протяжении всего жизненного цикла запроса. При этом пользовательское связующее устройство, похоже, более адаптировано к вашему сценарию, чем фильтр действий.

Смежные вопросы