Как вставить сообщение в представление, которое зависит от значения сеанса. ASP.NET MVC. Лучшая практика - PullRequest
0 голосов
/ 02 июня 2010

Пользователь должен заполнить многоэтапные веб-формы вопросника, и пошаговые сообщения зависят от варианта, выбранного пользователем в самом начале. Сообщения хранятся в файле web.config. Я использую проект asp.net mvc, строго типизированные представления и держу бизнес-логику отдельно от контроллера в статическом классе. Я не хочу делать зависимость бизнес-логики от web.config. Ну, я должен вставить сообщение в поле зрения, которое зависит от значения сеанса.

Существует как минимум 2 варианта, как это реализовать:

  1. У модели представления есть свойство, которое заполняется в controller / businessLogic и отображается в виде, как <%: Model.HelpMessage1 %>. Я должен передать значения web.config от контроллера к businessLogic, что делает сигнатуру методов бизнес-логики слишком сложной.

  2. Создание статического вспомогательного класса, который вызывается из представления, например <%: ViewHelper.HelpMessage1(Model.OptionChosenAtTheVeryBeginning) %>. Но в этом случае логика, которую нужно показать, кажется, разделена на два класса: бизнес-логика и viewHelper.

Что вы предложите?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 02 июня 2010

Как указал Адриан, ваша проблема относится к бизнес-сфере. Почему бы не получить сообщение и не поместить его в модель представления вместе с другими вашими данными / моделями.

1 голос
/ 02 июня 2010

Похоже, что решение о том, какие сообщения должны отображаться и / или каким образом модели собираются из этих сообщений, является частью вашей бизнес-логики. Как насчет хранения сообщений на вашем бизнес-уровне и позволить вашему бизнес-уровню генерировать модель с заполненными сообщениями?

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