我有一个下拉列表,我列出了颜色。选择颜色后,我想更改页面本身的背景颜色。
我正在使用Visual Studio 2008并使用VB.Net。
答案 0 :(得分:2)
你有没有搜索过?
PageBody.Attributes("bgcolor") = "green"
确保将body元素设置为runat =“Server”
<body id ="PageBody" runat ="server">
取自here
答案 1 :(得分: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 = ...
答案 2 :(得分: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>
答案 3 :(得分:0)
不确定为什么你想要完全回发到服务器只是为了你可以改变页面的背景颜色,但这里是快速简单的客户端javascript解决方案。
<!-- 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往往是更好的地方。