ASP.NET Обработка страниц для файлов CSS - PullRequest
0 голосов
/ 25 августа 2009

Я знаю, что ASP.NET можно настроить для обработки файлов любого типа любым способом, но у большинства из нас есть другая работа, даже по выходным. Меня очень интересует конвейер обработки asp.net, скажем, для * .csx файлов, где я могу сделать что-то вроде:

.module-div h2
{
    margin-top: 5px;
    color: [css:Color runat="server" Selector-Include="h2" /]
}

Затем в коде я мог бы перебрать все элементы управления Color с помощью селекторов, которые включают «h2» и назначить один и тот же цвет. Я часто заменяю цветовые константы, когда решаю изменить общий цвет схемы.

Ответы [ 4 ]

2 голосов
/ 25 августа 2009

Это звучит так же, как то, что lesscss пытается выполнить. Существует порт .net, о котором вы можете прочитать подробнее на http://blog.smoothfriction.nl/archive/2009/08/13/lesscss-the-.net-edition.aspx. Он также позволяет наследовать классы и т. Д. *

1 голос
/ 30 сентября 2009

В прошлом мы использовали прямую страницу .aspx для нашей "динамической" CSS.

У нас есть базовый набор CSS, но нам нужно отображать разные области сайта разными цветами, чтобы брендинг / помог пользователям различать разные разделы и т. Д.

Главное, что вы хотите сделать, это отсортировать кодировку ответа:

private void Page_Load(object sender, System.EventArgs e)
{
  Response.ContentType = "text/css";
}

Тогда по коду перед:

<%
string strSiteArea = this.Page.Request.QueryString["sitearea"];
string strCustomStyles = this.Page.Request.QueryString["customcssstyles"];
string extralightcolour = "";
string lightcolour = "";
string normalcolour = "";
string darkcolour = "";
string customcolour = "";

switch (strSiteArea)
{
  case "miscellaneous": 
    extralightcolour = "#F2F2F2";               
    lightcolour = "#E6E6E6";
    normalcolour = "#999999";
    darkcolour = "#666666";                 
  break;
  case "pressoffice":
    extralightcolour = "#F0F4F7";               
    lightcolour = "#E2E9EE";
    normalcolour = "#6D8DA8";
    darkcolour = "#5C768D";
  break;
  // etc
}
%>
h1{color: <%= darkcolour %>;font-family: Arial;padding-left: 0;margin-left: 0;}
h2{color: <%= darkcolour %>;font-family: Arial;font-size: 1.2em;font-weight: bold;margin-bottom: 0;padding-bottom: 0;}
h3{color: <%= darkcolour %>;font-size: 1.1em;font-weight:normal;margin-bottom: 0;}
h4{color: <%= darkcolour %>;margin-bottom: 0;font-size: 1.1em;font-weight:normal;font-style:italic;}
.backgroundheading{margin: 0 0 0 0;background-color: <%= normalcolour %>;color: #FFF;font-weight: bold;font-family: Arial;font-size: 1.0em;text-align: left;padding: 3px 5px 3px 5px;}
.backgroundheadinglight{margin: 0 0 0 0;background-color: <%= lightcolour %>;color: #000;font-weight: bold;font-family: Arial;font-size: 1.0em;text-align: left;padding: 3px 5px 3px 5px;}
.backgroundheadingdark{margin: 0 0 0 0;background-color: <%= darkcolour %>;color: #FFF;font-weight: bold;font-family: Arial;font-size: 1.0em;text-align: left;padding: 3px 5px 3px 5px;}
.background{margin: 0 0 0 0;background-color: <%= normalcolour %>;text-align: left;padding: 3px 5px 1px 5px;}
.backgroundlight{margin: 0 0 0 0;background-color: <%= lightcolour %>;text-align: left;padding: 3px 5px 1px 5px;}
.backgrounddark{margin: 0 0 0 0;background-color: <%= darkcolour %>;text-align:left;padding: 3px 5px 1px 5px;}
.backgroundcolorextralight{background-color: <%= extralightcolour %>;}

А затем вызвать CSS на странице, например:

<link rel="stylesheet" href="/CSS/GenerateCss.aspx?siteArea=pressoffice" />

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

0 голосов
/ 30 сентября 2009

Моя попытка поиграться с Меньше для .NET .

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

Для этого вам нужно написать собственный обработчик HTTP-класса, который реализует интерфейс System.Web.IHttpHandler. В Интернете вы найдете много статей о том, как это сделать.

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