2011-12-31 80 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往往是更好的地方。