在ASP.Net中几种利用CSS实现个性化界面的方法

本文介绍两种使用ASP.NET实现个性化用户界面的方法:一是通过动态加载不同的CSS文件;二是批量设置页面上所有同类型控件的样式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

看了老猫的文章,通过使页面动态加载不同CSS实现个性化界面(如个性化blog界面) 有以下几种方法

方法一: 

      HtmlGenericControl 定义不由特定的 .NET Framework 类表示的所有 HTML 服务器控件元素的方法、属性和事件。

<LINK href="login.css" type="text/css" rel="stylesheet">

其中href属性可以从用户配置中动态获得,然后进行页面设置。

<%@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"]="login.css"; 

  //MyCSS为placeholder容器控件,放在<head>域

   MyCSS.Controls.Add(objLink); 

</script> 
<html> 
<head> 
    <title>c#</title> 
<asp:placeholder id="MyCSS" runat="server"></asp:placeholder> 
</head> 
<body > 
<form runat="server"> 

</form> 
</body> 
</html> 

方法二:


可以通过改变WEB控件的CssClass属性,可方便地设置和修改控件的样式。 
但在实际开发过程中,一个个地设置控件的CssClass属性,非常繁琐,所以此思路应用不广. 
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的SKIN等功能。 

代码如下: 
public void page_load(Object obj,EventArgs e) 

   if(!Page.IsPostBack){ 
        //为页面的所有控件设置样式. 
        SetCSS(Page.Controls); 
   } 


 private void SetCSS(System.Web.UI.ControlCollection vControls) 
 { 
     for(int i=0;i<vControls.Count;i++) 
     {  
        System.Web.UI.Control vControl=vControls[i]; 

        //得到控件的类型 
        //可增加控件类型及相应处理方法 
        string PType=vControl.GetType().Name; 
        switch (PType) 
        { 
            case "TextBox": 
               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". 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值