2016-05-11 28 views
0

我想在運行時更改我的網頁上h1標題行的背景顏色。如果我們在prod/dev中運行,我希望相應地設置H1頭標籤的背景顏色。C#ASPX設置h1背景顏色運行時間

我目前設置背景顏色爲H1如下:

align="center" style="background-color: #389BD6 ">HEADER 1 LINE 

但我希望能夠指定的不同取決於當前環境的顏色。

我假設它會涉及一個CSS,但這對我來說是新的,需要一些幫助。

感謝

+0

你用什麼來定義環境? IE怎樣才能知道你在哪個環境中 – Pete

回答

0

CSS:正是醫生有序

CSS正如你所提到的行動來處理這個問題,你可以簡單地定義一個樣式,將針對您的h1元素的適當過程如預期:

<style type='text/css'> 
    h1 { 
     text-align: center; 
     background-color: #389BD6; 
    } 
</style> 

您可以直接在您的HTML本身(最好是在<head>部分)引用此,或通過外部CSS文件(也defin在你的頁面的<head>節)版:基於

<!-- A reference to a CSS file containing the previous style --> 
<link href="your-css-file.css" rel="stylesheet" type="text/css" /> 

造型環境

至於改變基於環境的風格,你可以考慮增加一個CSS類的高級別您在運行時頁面的元素,加入另一種風格來覆蓋先前的默認之一:

<!-- Define a runat="server" tag on your body element and an ID (assumes Web Forms) --> 
<body id="body" runat="server"> 

,然後你Page_Load事件中,根據您的設置類EN環境(即調試,生產等):

// Find your body element 
var body = FindControl("body") as HtmlGenericControl; 
// If you were able to find it, set it's class 
if(body != null) 
{ 
    // Set your environment here 
    body.Attributes["class"] = "production"; 
} 

,這會使得「生產」類的<body>元素:

<body id="body" class="production"> 

,你可以用它來定義另一個CSS樣式只定位在<h1>元素生產環境:

<style type='text/css'> 
    h1 { 
     text-align: center; 
     background-color: #389BD6; 
    } 
    /* Target <h1> elements in production */ 
    .production h1 { 
     background-color: purple; 
    } 
</style> 

您還可以通過建立多個樣式表(即production.css做到這一點,development.css等),並在其中定義每種特定樣式,並使用一些機制(如Preprocessor Directives)來確定要使用哪種樣式。

0

如果你需要它是動態的,你可以這樣做:

<link href="http://somewebsite.com/css.aspx" type="text/css" rel="stylesheet"> 

這種方式你是像一個CSS文件處理一個aspx文件,但你可以動態地設置H1的背景值例如,通過使用.aspx 中所需的任何邏輯,但只能使用此樣式表來包含可能在運行時更改的樣式,因爲它會產生大量開銷。