zoukankan      html  css  js  c++  java
  • 在ASP.Net中两种利用CSS实现多界面的方法

    通过使页面动态加载不同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".
    (完)

  • 相关阅读:
    数组初始化问题calloc和memset+malloc
    C++四种类型转换
    判断回文
    Linux运维三:系统目录结构
    Linux运维二:CentOS6.6系统安装后的基本配置与优化
    Linux运维一:生产环境CentOS6.6系统的安装
    Linux /etc/issue 和 /etc/issue.net的作用和区别
    linux内核参数注释与优化
    Linux中的文件描述符与打开文件之间的关系
    Linux Wget 命令实例讲解
  • 原文地址:https://www.cnblogs.com/ranran/p/4150300.html
Copyright © 2011-2022 走看看