2013-02-22 2 views
2

Я пытался выяснить, как использовать динамическую таблицу стилей CSS, используя классический asp. Я прочитал немало учебников по этому предмету, и я не могу заставить его правильно заняться. Многие из них, по-видимому, подразумевают, что только переход на styles.asp или .aspx и ссылка на него с использованием стандартной ссылки стилей будут работать, но я не получаю этого результата.Динамическая страница CSS с использованием классического ASP

http://www.4guysfromrolla.com/webtech/tips/t071201-1.shtml

То, что я пытаюсь достичь быть в состоянии потянуть в стороне сервера переменных из нашей CMS на работе в моей таблице стилей. Я понимаю, что SASS и LESS существуют и могут быть адаптированы, но я просто пытаюсь найти простой способ использовать переменные asp и втянуть их в таблицу стилей. Я не очень хорошо разбираюсь в ASP, поэтому любая помощь, которую вы могли бы предоставить, была бы полезна.

Редактировать: Я обновил код ниже, чтобы отразить рабочий код.

HTML

<link rel="stylesheet" href="<% = TemplatePath %>css/styles.asp" type="text/css" /> 

ASP CSS страница

<% 
    dark_color = "navy" 
%> 

<% Response.ContentType = "text/css" %> 
<style type="text/css"> 
    h2 { color: <%= dark_color %> } 
</style> 
+0

я должен был бы увидеть код для того, чтобы дать совет. –

+0

им нужно быть в таблице стилей? могут ли они быть встроенным или внутри тегов стиля в заголовке? – Pete

+0

@Pete В идеале я хотел их в таблице стилей. Я надеялся интегрировать его в мою существующую таблицу стилей, чтобы я мог вытаскивать динамические цвета из CMS и изменять и манипулировать ими в CSS. Я просто стараюсь не перенапрягать мой вопрос с дополнительными деталями ради ясности. – jbwharris

ответ

2

Недостающий ингредиент здесь был тип контента. Классическим страницам ASP по умолчанию присваивается text/HTML, что смущает браузеры, ожидающие, что таблицы стилей будут text/css.

Изменение типа содержимого выполняется следующим образом:

Response.ContentType = "text/css" 

MSDN documentation

0
you could use global variables like Application and session which are accessible across overall application. 

    here are the codes for your reference - 

    my asp page named asp_1.asp 

    <!DOCTYPE html> 
    <html> 
    <head> 

     <link rel="stylesheet" type="text/css" href="dynastyle.asp"> 
    </head> 
    <body> 
    <% 
    Set MyBrow=Server.CreateObject("MSWC.BrowserType") 

    Application("myfontcolor") = "#ff0000" 

    %> 

    <table border="0" width="100%"> 
    <tr> 
    <th>Client OS</th><th><%=MyBrow.platform%></th> 
    </tr><tr> 
    <td >Web Browser</td><td ><%=MyBrow.browser%></td> 
    </tr><tr> 
    <td>Browser version</td><td><%=MyBrow.version%></td> 
    </tr><tr> 
    <td>Frame support?</td><td><%=MyBrow.frames%></td> 
    </tr><tr> 
    <td>Table support?</td><td><%=MyBrow.tables%></td> 
    </tr><tr> 
    <td>Sound support?</td><td><%=MyBrow.backgroundsounds%></td> 
    </tr><tr> 
    <td>Cookies support?</td><td><%=MyBrow.cookies%></td> 
    </tr><tr> 
    <td>VBScript support?</td><td><%=MyBrow.vbscript%></td> 
    </tr><tr> 
    <td>JavaScript support?</td><td><%=MyBrow.javascript%></td> 
    </tr> 
    </table> 

    </body> 
    </html> 

    here i displayed simple HTML table to display browsers capability. you could use any element as per your requirement. 

another steps towards the solution is to create asp page with dynamic css named dynastyle.asp. here is the code for same - 

<% Response.ContentType = "text/css" %> 
<% 
DIM fontColor 
**fontColor =Application("myfontcolor")** 
%> 

    table 

{ 
    background-color: <%= fontColor %>; 
} 
Смежные вопросы