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

    通过使页面动态加载不同CSS实现多界面 (类似于这个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".

  • 相关阅读:
    【转】 java中Class对象详解和类名.class, class.forName(), getClass()区别
    106. Construct Binary Tree from Inorder and Postorder Traversal
    105. Construct Binary Tree from Preorder and Inorder Traversal
    107. Binary Tree Level Order Traversal II
    109. Convert Sorted List to Binary Search Tree
    108. Convert Sorted Array to Binary Search Tree
    110. Balanced Binary Tree
    STL容器迭代器失效问题讨论
    113. Path Sum II
    112. Path Sum
  • 原文地址:https://www.cnblogs.com/SALIN/p/618081.html
Copyright © 2011-2022 走看看