ASP.NET中直接用C# 动态修改CSS样式
wonsoft (wonsoft@163.com)
使用JavaScript控制CSS样式有点麻烦,还是觉得直接使用C#操作更方便快捷,本文通过两个Button控制TextBox1的高度和背景色,以展示通过C#控制CSS样式的方法。以下是操作的实例:
一、前端代码(TestEditStyle.aspx.)如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="TestEditStyle.aspx.cs" Inherits="Test_TestEditStyle" %>
<!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>
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
<asp:Button ID="Button2" runat="server" Text="Button" onclick="Button2_Click" />
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</div>
</form>
</body>
</html>
二、后台代码(TestEditStyle.aspx.cs)如下:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
public partial class Test_TestEditStyle : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click(object sender, EventArgs e)
{
TextBox1.Style["background-color"] = "blue"; //背景设为蓝色
TextBox1.Style["height"] = "200px"; //高度设为200
}
protected void Button2_Click(object sender, EventArgs e)
{
TextBox1.Style["background-color"] = "red"; //背景设为红色
TextBox1.Style["height"] = "100px"; //高度设为100
}
}
三、补充说明:
只要在标签里加上runat ="server"和ID="MyTag",就可在后台代码中直接通过设置MyTag.Style的值来控制样式。 例如:
在前端加入:
<div id="mydiv" runat="server"></div>
后台即可以直引用mydiv这个对像进行控制:
mydiv.Style["width"] = "100px";
mydiv.Style["height"] = "100px";
mydiv.Style["background-color"] = "yellow";
(以上代码在VS2008上调试通过)