Почему темы не вписываются в парадигму MVC? - PullRequest
0 голосов
/ 07 октября 2009

Я работаю с новыми областями ASP.NET MVC и смешиваю их с темами. В MVC без областей я применял темы, добавляя

<pages theme="ThemeName" ... > ... </pages>

в Web.Config в папке Views, и он работал отлично. Теперь, когда у меня есть папка Areas, каждая из которых имеет свой собственный Web.Config, моя тема применяется только к контроллерам в контроллерах, не относящихся к областям (что имеет смысл). Я хотел бы изменить тему по умолчанию в одном файле Web.Config, но единственная, охватывающая все мои папки, находится в корневом каталоге, что вызывает ошибку при попадании на страницу Default.aspx.

РЕДАКТИРОВАТЬ : Оказывается, в ASP.NET MVC 2 они удалили страницу Default.aspx в корне веб-сайта, сделав ее так, что теперь вы можете указать тему в корневом каталоге Web.Config. без проблем, и это относится и к областям из-за структуры папок.

Кроме этого, я не понимаю, как " темы не обязательно хорошо вписываются в парадигму MVC ". Основной концепцией MVC является разделение задач по уровням абстракции. Я не вижу никакой причины, по которой представление нельзя абстрагировать к двум отдельным объектам: данным, отображаемым в заданной точке в пользовательском интерфейсе, и теме, к которой эти данные относятся.

У меня два вопроса:

  1. Можно ли указать тему в одном Web.Config для этого типа проекта? [Решено в ред.]
  2. Почему темы не вписываются в парадигму MVC?

Ответы [ 3 ]

3 голосов
/ 17 октября 2009

Asp.Net Темы настолько тесно интегрированы в Asp.Net (со многими конкретными точками подключения: создание профилей, упомянутых Арнисом; с тегом <head runat="server"> ; и т. Д.), Чтобы заставить его работать с MVC требуется, чтобы вы создали проводку между основными компонентами MVC, что по своей сути противоречит цели MVC (разделение интересов).

2 голосов
/ 13 октября 2009

Simple.

Темы не вписываются в парадигму MVC, потому что управление темами относится к уровню представления, а связанные с пользовательским интерфейсом вещи должны обрабатываться исключительно им.

При работе с темами - вы рассказываете, как собираетесь показывать что-то в контроллерах или даже в модели (т.е. вы создаете профиль для каждого пользователя или чего-либо), и это противоречит упомянутой парадигме.

Но не забывайте, что MVC не религия.

0 голосов
/ 20 октября 2009

Выбросьте WFVE. Установите Spark. Читайте документы о тематике. Воплощать в жизнь. Наслаждайтесь.

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