zoukankan      html  css  js  c++  java
  • 20080409 为 ASP.NET2.0 模板页的 Content 页面添加 CSS 样式

     
    Asp.Net 2.0 中为支持页面内容重用而引入了 Master Page 和 Content Page,Master Page 类是模板中页面公共部分,Content Page 为页面差异部分。

    从实现上来说,MasterPage 类是从 UserControl 类派生而来,因而具有容器功能。当页面被请求,在 Page 类的 Init 事件发生前,MasterPage 页控件被加载到 Content Page 中。

    可以在 MasterPage 页中加载页面的 CSS 样式表,或者 Asp.Net 2.0 中会加载 App_Themes 中的 CSS 文件,基本能满足对样式的定义需求。

    但 Content 页面却失去了加载CSS的能力。因为 CSS 需要在页面的 head 部分加载,难道需要把差异化很大页面的 CSS 都统一写到一个 CSS 文件中,在打开页面时统一加载吗?

    不用。方法如下:

    可以在 content 页使用 HtmlGenericControl 动态调整 DOM 结构,使得两种类型内嵌和外链的样式表文件都能支持。

    内嵌CSS支持
      HtmlGenericControl node = new HtmlGenericControl("style");
      node.Attributes.Add("type", "text/css");
      node.InnerText = style;
      Page.Header.Controls.Add(node);

    外部样式支持
      HtmlLink link = new HtmlLink();
      link.Attributes.Add("type", "text/css");
      link.Attributes.Add("rel", "stylesheet");
      link.Attributes.Add("href", cssUrl);
      Page.Header.Controls.Add(link);

     

  • 相关阅读:
    推荐一份JAVA学习vip路线图,可以参考下学习路径哦
    上传视频到阿里云服务器
    微信小程序授权登陆以及获取获取openid
    Java随笔
    Java随笔
    Java随笔
    Java随笔
    Java随笔
    Java随笔
    AC自动机模板
  • 原文地址:https://www.cnblogs.com/likun/p/1144589.html
Copyright © 2011-2022 走看看