在ASP.NET中更改表单颜色
本文关键字:表单 颜色 ASP NET | 更新日期: 2023-09-27 18:28:54
嘿,伙计们,我正在写一个简单的web程序,用C#.Net和ASP.Net来解决问题,我有点困惑。
基本上,我想做的是有一个下拉框,用户可以在其中选择他们想要的页面背景颜色,但我找不到这样动态地做的属性。
这并不重要,但我正在使用visualstudio2010。
有什么想法吗?
求你了,谢谢!
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void cmdSubmit_Click(object sender, EventArgs e)
{
if (txtName.Text == "")
{
}
else
{
lblName.Visible = true;
lblName.Text = "Well hello there " + txtName.Text + "!";
lblColor.Visible = true;
ddlColors.Visible = true;
}
}
protected void ddlColors_SelectedIndexChanged(object sender, EventArgs e)
{
int strDdlValue = Convert.ToInt32(ddlColors.SelectedValue);
switch (strDdlValue)
{
case 1:
Body.Style["background-color"] = "Red";
break;
case 2:
Body.Attributes["bgcolor"] = "blue";
break;
case 3:
Body.Attributes["bgcolor"] = "magenta";
break;
case 4:
Body.Attributes["bgcolor"] = "green";
break;
default:
break;
}
lblBye.Visible = true;
}
}
来源:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body id="Body" bgcolor="#3366ff" runat="server">
<form id="form1" runat="server" visible="True">
<div align="center" style="font-size: medium; font-weight: bold" >
<asp:Label ID="lblWelcome" runat="server" Text="Welcome to WebGreeting!"></asp:Label>
<br />
<br />
<br />
<asp:Label ID="lblInstruction1" runat="server"
Text="Please enter your name in the text box below:"></asp:Label>
<br />
<asp:TextBox ID="txtName" runat="server"></asp:TextBox>
<asp:Button ID="cmdSubmit" runat="server" onclick="cmdSubmit_Click" Text="Submit!" />
<br />
<br />
<br />
<asp:Label ID="lblName" runat="server"></asp:Label>
<br />
<br />
<br />
<asp:Label ID="lblColor" runat="server" Text="What's your favorite color?"
Visible="False"></asp:Label>
<br />
<br />
<br />
<asp:DropDownList ID="ddlColors" runat="server"
onselectedindexchanged="ddlColors_SelectedIndexChanged" Visible="False">
<asp:ListItem></asp:ListItem>
<asp:ListItem>Red</asp:ListItem>
<asp:ListItem>Green</asp:ListItem>
<asp:ListItem>Blue</asp:ListItem>
<asp:ListItem>Yellow</asp:ListItem>
</asp:DropDownList>
<br />
<br />
<br />
<asp:Label ID="lblBye" runat="server" Text="I hope you had a nice day!"
Visible="False"></asp:Label>
<br />
</div>
</form>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Untitled Page</title>
</head>
<body id="Body" runat="server">
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
</asp:DropDownList>
</div>
</form>
</body>
</html>
代码背后:
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
int strDdlValue = Convert.ToInt32(DropDownList1.SelectedValue);
switch (strDdlValue)
{
case 1:
Body.Attributes["bgcolor"] = "Red";
break;
case 2:
Body.Attributes["bgcolor"] = "blue";
break;
case 3:
Body.Attributes["bgcolor"] = "magenta";
break;
case 4:
Body.Attributes["bgcolor"] = "green";
break;
default:
break;
}
}
您对网站、浏览器以及您看到的渲染页面的工作方式有一个根本性的误解。
它们不像Windows窗体那样工作,在Windows窗体中可以设置各种内容的属性。相反,您需要了解HTML是如何工作的,以及CSS(HTML使用的样式语言)。如果你不了解浏览器是如何渲染页面的,你将永远无法理解页面上的内容。
一旦你了解了如何设置网页的背景色,你就可以想出如何使用asp.net来实现同样的功能。但现在,你假设它的工作方式与Winforms相同。事实并非如此。
如果不从根本上了解HTML和CSS的工作原理,就永远无法理解ASP.NET的工作原理。我建议,每当你尝试做某事时,你首先要弄清楚它是如何在标准HTML中完成的。
您必须更改Style属性,而不是Attributes属性。
样式属性
<asp:DropDownList ID="ddlColors" runat="server" OnSelectedIndexChanged="ddlColors_SelectedIndexChanged"
Visible="False" AutoPostBack="true">
<asp:ListItem Value="0"></asp:ListItem>
<asp:ListItem Value="1">Red</asp:ListItem>
<asp:ListItem Value="2">Green</asp:ListItem>
<asp:ListItem Value="3">Blue</asp:ListItem>
<asp:ListItem Value="4">Yellow</asp:ListItem>
</asp:DropDownList>
添加这样的value属性。这个代码正在运行,我现在尝试过了。没有问题