ASP.Net中利用CSS实现多界面两法【转自:中国站长站】
通过使页面动态加载不同CSS实现多界面 (类似于这个blog)
Chinaz.com
方法一: Chinaz.com
以下为引用的内容: <%@page language="C#"%> <%@import namespace="System.Data"%> <script language="c#" runat="server"> public void page_load(Object obj,EventArgs e) { //创建服务器端控件. //指定的标记"LINK"初始化此类的新实例. HtmlGenericControl objLink=new HtmlGenericControl("LINK"); objLink.ID=ID; objLink.Attributes["rel"]="stylesheet"; objLink.Attributes["type"]="text/css"; objLink.Attributes["href"]="portal.css"; [中国站长站] //此控件不产生任何可见输出,仅作为其他控件的容器,可在其中添加,插入或移除控件. MyCSS.Controls.Add(objLink); } </script> <html> <head> <title>c#</title> <asp:placeholder id="MyCSS" runat="server"></asp:placeholder> </head> <body bgColor="#ffcc66" style="FONT:9pt"> <form runat="server"> </form> </body> </html> |
通过动态设置页面所有同类型控件的样式来该变界面:
方法二:
可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。
但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广。
Chinaz.com
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。
[中国站长站]
代码如下: Chinaz.com
以下为引用的内容: public void page_load(Object obj,EventArgs e) [中国站长站] TextBox_CSS ((TextBox) vControl); break; case "Button": //Button_CSS ((Button) vControl); break; case "DataGrid": //DataGrid_CSS ((DataGrid) vControl); break; } if(vControl.Controls.Count>0) SetCSS(vControl.Controls); } } private void TextBox_CSS(TextBox tb){ tb.CssClass="TextBox_show"; } <form runat="server"> <asp:textbox id="Search1" runat="server"/> <asp:textbox id="Search2" CssClass="INPUT" runat="server"/> </form> [中国站长站]
|
运行后,查看页面源码.可发现文本框的样式已统一修改为"TextBox_show"。 Chinaz.com