Подтвердить что ты не робот

Темы Asp.Net MVC, как?

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

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

Возникает вопрос:

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

Примечание. Я знаю этот, но они не говорят о лучших практиках или о том, как начать.

4b9b3361

Ответ 1

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

ASP.NET MVC: создание тематических папок с помощью пользовательского ViewEngine

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

Ответ 2

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

Лучшим примером мощности CSS является CSS Zen Garden.

w3schools имеет приятный введение/руководство к CSS.

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

<link rel="stylesheet" type="text/css" href="<%= Model.SelectedStyleSheet %>"/>

Ответ 3

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

html: <input type="button" />

css: input {color: blue-blue}

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

Ответ 4

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

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