Как я могу изменить внешний вид страницы ASP.NET без перекомпиляции кода? - PullRequest
1 голос
/ 28 августа 2009

Я собираюсь заняться новым проектом веб-разработки, и у клиента есть две большие спецификации: во-первых, он хочет, чтобы он разрабатывался в .NET, и во-вторых, чтобы он мог изменить внешний вид страница без необходимости перекомпилировать код. Хотя я новичок в ASP.NET, я знаком с концепцией Model View Controller, позволит ли ASP.NET MVC клиенту избегать компиляции всего вместе или просто избегать компиляции бизнес-логики? Есть ли хорошие книги или ресурсы, которые вы можете порекомендовать, чтобы я мог узнать больше? Это все еще очень рано в проекте, и я не тот, кто обсуждает это с заказчиком, но я буду тем, кто выполняет работу, и я задаюсь вопросом о возможностях.

Ответы [ 9 ]

8 голосов
/ 28 августа 2009

Вероятно, лучший способ изменить внешний вид веб-страниц без изменения кода - через таблицу стилей . Вот один из лучших примеров этого.

РЕДАКТИРОВАТЬ : Вот некоторая информация о доступных CSS-редакторах .

3 голосов
/ 28 августа 2009

Поддержка веб-форм Asp.Net Темы и Профили . И то, и другое позволит вам настроить несколько просмотров для веб-сайта и переключаться между ними с помощью элементов управления на странице.

1 голос
/ 28 августа 2009

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

Если, с другой стороны, вы просто меняете такие вещи, как цвета и макет, то все это можно сделать в CSS, чего даже не требуется в проекте.

1 голос
/ 28 августа 2009

Вот отличная книга по началу работы с ASP.NET MVC 1.0.

http://weblogs.asp.net/scottgu/archive/2009/03/10/free-asp-net-mvc-ebook-tutorial.aspx

0 голосов
/ 28 августа 2009

Если вы знакомы с MVC, я бы заглянул в ASP.NET MVC. Тем не менее, вы также можете использовать множество встроенных функций, имеющихся в ASP.NET 2.0, таких как MasterPages для управления шаблонами и темами для управления и переключения между макетами страниц, цветовыми схемами и т. Д. Оба могут использовать CSS, который в конечном итоге изменится. как выглядит ваш код Даже стандартные элементы управления веб-формы ASP.NET содержат свойство CssClass, которое можно установить и использовать для форматирования элементов управления веб-формы.

0 голосов
/ 28 августа 2009

Как насчет использования тем (WebForms) и их динамического изменения?

Этот стартовый набор имеет простой пример

Вы также можете использовать jQuery для изменения настроек таблицы стилей на лету с классов на конкретные свойства CSS. (Это также подходит для ASP .NET MVC и WebForms)

0 голосов
/ 28 августа 2009

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

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

0 голосов
/ 28 августа 2009

Как уже упоминалось, таблицы стилей CSS - лучший способ изменить внешний вид веб-приложения без какой-либо перекомпиляции, а csszengarden - фантастический пример того, как вы можете так сильно изменять веб-страницу.

Но вы также захотите использовать таблицы только для табличных данных, а не для размещения компонентов.

Я часто использую элемент, чтобы поставить метку для элемента формы, такого как текстовое поле.

Вы также захотите установить атрибут id для элементов div, охватывающих элементы формы, чтобы облегчить их изменение. Можно изменить в зависимости от типа элемента и того, что было до них, но я считаю, что безопаснее сказать ему изменить нижний колонтитул, независимо от того, что еще было изменено в приложении, так как HTML может измениться, div возможно, был изменен на span, и тогда мое предположение в файле css неверно, и их изменение html приводит к ненужному изменению css.

Но, как упомянул Кевин Джонс, сначала вам нужно будет бороться с CSS, так как для раскладки без таблиц нужно больше думать о том, как заставить CSS делать то, что вы хотите.

0 голосов
/ 28 августа 2009

Дизайн страниц, чтобы вы могли легко применять стили к различным разделам страницы. Сделайте это, разбив области страницы на 'div'ы, затем вы можете дать этим div-классам имена и идентификаторы. Как только вы это сделаете, вы можете написать таблицы стилей в CSS и применить их к странице. Одна вещь, которую предлагают многие сайты, это возможность применить тему к сайту. Темы - это просто коллекции связанных стилей и изображений, которые придают сайту особый вид. Поместите каждую тему в отдельный каталог, после чего вы можете изменить внешний вид, просто изменив каталог, из которого они загружаются.

Будьте готовы узнать (и сражаться с CSS), что сначала это черное искусство.

Не используйте элементы таблицы, если у вас нет таблицы

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