Asp.Net MVC Темы, как? - PullRequest
31 голосов
/ 21 апреля 2009

У меня есть сайт ASP.Net 2.0 и я хочу перевести его в парадигму MVC (я новичок в этом), но начиная с нуля.

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

Вопрос:

Какова лучшая практика в MVC для создания настраиваемого пользователем сайта Themed? Можете ли вы привести небольшой пример, если это применимо?

Примечание: я знаю об этом , но они не говорят о передовых методах или с чего начать.

Ответы [ 4 ]

26 голосов
/ 22 апреля 2009

Вот мой код, который я использовал для реализации «Тем» в ASP.NET MVC:

ASP.NET MVC: реализация папок с темой с использованием пользовательского ViewEngine

Приятно, когда вы можете просто поменять CSS-файлы, чтобы изменить тему, но на самом деле это не очень практично в большинстве случаев. Особенно, когда каждая тема должна иметь совершенно другой макет. В этом случае вам нужно изменить CSS и HTML, которые будут отображаться, и именно поэтому я написал код, найденный по ссылке выше.

21 голосов
/ 21 апреля 2009

Чистый, семантически правильный HTML с хорошим CSS - это способ создать тему для любого веб-приложения, будь то ASP.NET, RoR, PHP и т. Д.

Лучший пример силы CSS - CSS Zen Garden .

В w3schools есть хорошее введение / учебное пособие по CSS .

Каждый из ваших пользователей может иметь связанную таблицу стилей, которая будет выбираться при необходимости, т. Е .:

<link rel="stylesheet" type="text/css" href="<%= Model.SelectedStyleSheet %>"/>
2 голосов
/ 21 апреля 2009

Поскольку темы были предназначены для стилизации тегов, вы можете использовать CSS для создания аналогичного подхода. Возможно, я бы порекомендовал начать с копирования тем по умолчанию в определения CSS, например,

html: <input type="button" />

css: input {color: light-blue}

Тогда для всего, что имеет вашу тему не по умолчанию, вы можете просто применить классы к ним. Переписывание всех ваших тем в формате CSS занимает некоторое время, но после этого оно того стоит.

1 голос
/ 21 апреля 2009

jQuery-ui темы хороши и не слишком сложны для реализации.

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

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