zoukankan      html  css  js  c++  java
  • 动态修改页面的DOCTYPE及一个小发现

        在实现新的Skin-Paperclip的时候,页面DOCTYPE需要使用:    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        可其他的Skin使用的都是:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
        而所有的Skin都是通过一个default.aspx以控件的方式加载的,如果改了default.aspx的DOCTYPE,其他Skin的页面显示就会受影响,只能根据不同的Skin显示不同的DOCTYPE,我想到了一个方法,重载Render方法,在页面Render之前输出所需的DOCTYPE,代码如下:
        先删除default.aspx中的DOCTYPE代码。
    protected override void Render(HtmlTextWriter writer)
            {
                
    if (!IsPostBack)
                {
                    
    if(CurrentBlog.Skin.IsXHTML)
                    {
                        writer.Write(
    "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">");
                    }
                    
    else
                    {
                        writer.Write(
    "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
                    }
                }
                
    base.Render(writer);
            }
        通过上面的代码实现后,有一个小发现。
        不知你有没有注意到,在ASP.NET中,通过.aspx文件显示的页面第一行都是空行(为什么显示空行,需要研究一下相应的源代码才能知道),而使用上面的方法,第一行就没有空行了。
  • 相关阅读:
    软件架构学习小结
    20+ 个很有用的 jQuery 的 Google 地图插件 (英语)
    网页JS获取当前地理位置(省市区)
    前端Js框架汇总(工具多看)
    MUI简介-最接近原生App体验的前端框架
    Bootstrap手机网站开发案例
    jQuery Mobile手机网站案例
    历届图灵奖 (Turing award)得奖名单
    js进阶 10-9 -of-type型子元素伪类选择器
    网页如何实现隔多久自动调用某个方法
  • 原文地址:https://www.cnblogs.com/dudu/p/641310.html
Copyright © 2011-2022 走看看