2009-08-25 15 views
0

どのようなファイルタイプでも処理できるようにASP.NETを設定できることは知っていますが、私たちのほとんどは週末でも他の作業を行っています。私はのような何かを行うことができます* .csxファイル、たとえば、パイプライン処理するasp.netに非常に興味を持ち始めています:背後にあるコードに続いてCSSファイルのASP.NETページ処理

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

を、私は色がそのセレクタで制御し、すべてを繰り返すことができ「h2」を含めて同じ色を割り当てます。私は一般的なスキームの色を変更することを決めるときに、自分自身で頻繁に色定数を置き換えることがあります。

+4

それは一種のように思えるんあなたはCSSの "カスケード"の部分を忘れてしまった。なぜ各h2要素には独自の色が宣言されていますか?それをh2要素(またはその他の「緑色」の要素など)で一度宣言し、より具体的にする必要がある場合は、非カラープロパティをオーバーライドします。 – dnord

+0

繰り返し仕様を必要とする要素の中にh2要素があります。 – ProfK

答えて

0

これには、System.Web.IHttpHandlerインターフェイスを実装するクラスであるカスタムHTTPハンドラを記述する必要があります。あなたはこれを行う方法についてインターネット上で多くの記事を見つけるでしょう。

1

過去には、動的「css」のためのストレート.aspxページを使用しています。

私たちは、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スタイルの一貫性のあるセットを使用して、異なるカラースキームの数を持っている、と渡されたクエリ文字列に基づいて簡単にページを変える力を与えた。