2011-12-31 74 views
1

我有一個下拉列表,我列出了顏色。當選擇顏色時,我想更改頁面本身的背景顏色。如何訪問要更改的頁面背景顏色屬性?

我正在使用Visual Studio 2008並使用VB.Net。

+0

您是在尋找客戶端解決方案(javascript),還是要執行完整的回發到服務器? – 2011-12-31 16:43:25

+0

U可以嘗試使用java腳本,或者從下拉列表中選擇後保存背景顏色,請查看http://stackoverflow.com/questions/5068087/set-background-colour-of-select-to-selected-option-在jQuery中 – 2011-12-31 16:48:36

回答

0

嗯,這裏是代碼改變組合框本身的背景顏色上的選擇的改變:

Private Sub ComboBox1_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged 
    With ComboBox1 
     Select Case .Text 
      Case "red" 
       .BackColor = Color.Red 
      Case "green" 
       .BackColor = Color.Green 
      Case "blue" 
       .BackColor = Color.Blue 
      Case Else 
       .BackColor = Nothing 

     End Select 
    End With 
End Sub 

如果你的意思是改變整個的winform的背景顏色,使用me.BackColor = ...

+0

我有選擇和顏色值來改變顏色,這是我不能訪問VB.Net中的頁面(網站頁面)背景顏色,以實際上改變顏色。這就是我正在尋找的代碼。 – JPJedi 2011-12-31 16:40:15

+0

對不起,我錯過了網站的一部分。正在思考winforms。莫伊茲爲你解答。 – 2011-12-31 16:44:29

2

您是否搜索過?

PageBody.Attributes("bgcolor") = "green" 

確保你設置你的身體元素的Runat = 「服務器」

<body id ="PageBody" runat ="server"> 

here

0

使用JavaScript摘自:

<select onChange="changeBackground()" id="myselect"><option></option><option value='black'>black</option></select> 


<script type="text/javascript"> 
function changeBackground(){ 
    var select = document.getElementById("myselect"); 
    var color = select.options[select.selectedIndex].value; 
    document.bgColor = color; 
} 
</script> 
+1

請注意'document.bgColor' [已棄用](https://developer.mozilla.org/en/DOM/document.bgColor)。相反,使用'document.body.style.backgroundColor' – naveen 2011-12-31 16:54:25

0

不知道爲什麼你會想要完整地回發到服務器,以便您可以更改頁面的背景顏色,但是h ere的快速和簡單的客戶端JavaScript解決方案。

Working demo here

<!-- HTML --> 
<select id="sample"> 
    <option value="white">White</option> 
    <option value="red">Red</option> 
    <option value="yellow">Yellow</option> 
    <option value="blue">Blue</option> 
</select> 


// JavsScript 
<script> 

    document.getElementById("sample").onchange = function(){ 
     document.body.style.background = this.options[this.selectedIndex].value; 
    } 

</script> 

或者,你可以按照你原來的思路和做the server-side way ...但是,似乎很多工作。如果你需要將背景顏色存儲在服務器端變量中用於其他用途(主題化,個人偏好等),我認爲這是有意義的......但客戶端Cookie往往是更好的地方。