欢迎光临
我们一直在努力

在ASP.Net中两种利用CSS实现多界面的方法-.NET教程,Asp.Net开发

建站超值云服务器,限时71元/月

===========================================
通过使页面动态加载不同css实现多界面(类型于csdn的blog):

方法一:

<%@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属性,非常繁琐,所以此思路应用不广.
但下面的代码段演示了一次性改变页面所有同类型控件的样式的方法,可以实现简单的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”.
(完)
======================================================

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 在ASP.Net中两种利用CSS实现多界面的方法-.NET教程,Asp.Net开发
分享到: 更多 (0)