• 在ASP.Net中两种利用CSS实现多界面的方法(转)


    通过使页面动态加载不同CSS实现多界面

    方法一:

    <%@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".

    >>原作者:oupatch   >>来源:http://tech.163.com/school

  • 相关阅读:
    Safe3TV
    LINQ 對付 SQL Injection 的 "免費補洞策略"
    Sstart(一个批量运行的小工具)
    从CSDN 漏洞谈.NET 安全开发
    看大成天下网站安全
    discuz获取任意管理员密码漏洞利用工具vbs版
    Wfuzz(支持各种web漏洞扫描的工具)
    Apache Tomcat UTF8编码漏洞
    VS2010下如何调试Framework源代码(即FCL)
    《Practical Clojure》学习笔记[3] Clojure中程序流程控制
  • 原文地址:https://www.cnblogs.com/dagon007/p/156912.html
Copyright © 2020-2023  润新知