zoukankan      html  css  js  c++  java
  • 都是OverRide惹的祸

        自打学会了使用页面基类的那年开始,我的BasePage类中的这个函数都是这么写得

    protected override void OnInit(EventArgs e)
            {
                
    this.Error +=new System.EventHandler(this.BasePage_Error);
            }
    程序工作的也很正常,自然不会怀疑它的正确性.直到有一天我想使用2005的Theme功能,问题出现了: 我按照MSDN所写的文档,在BasePage中添加了OnPreInit函数并在其中设置了Theme.运行后发现问题,在别的示例程序程序中工作正常的换肤功能,在我的程序中有问题,只有服务器端控件能够正确应用Skin中的设置,Html控件却没有应用我写的StyleSheet设置.
        打开页面输出结果查看,发现页面的<head></head>段中没有正确的添加Theme中包含的Css文件的链接!所以客户端的CSS属性都没有应用上.这个问题困扰了我好几天,始终没有找到问题所在,万般无奈只好自己写代码把Theme中CSS文件URL添加到Header中去:
    void BasePage_PreRender(object sender, EventArgs e)
            
    {
                
    if (Header != null)
                
    {
                    HtmlLink hl 
    = new HtmlLink();
                    hl.Attributes.Add(
    "rel""stylesheet");
                    hl.Attributes.Add(
    "type""text/css");
                    hl.Href 
    = HttpRuntime.AppDomainAppVirtualPath + "/App_Themes/" + this.Theme + "/" + this.Theme + ".css";
                    Header.Controls.Add(hl);
                }

            }
    这样CSS倒是能够正常工作了,但是心里一直觉得很别扭. 直到有一天...突然发现上面这个OnInit函数中好像少了一行代码,眼前一亮,立即添加上:
    protected override void OnInit(EventArgs e)
            {
                
    base.OnInit(e);
                
    this.Error +=new System.EventHandler(this.BasePage_Error);
            }
    然后运行...好了!!!

  • 相关阅读:
    Elasticsearch 在部署时,对 Linux 的设置有哪些优化方 法?
    详细描述一下 Elasticsearch 搜索的过程?
    Memcached 服务特点及工作原理是什么?
    Memcached 服务分布式集群如何实现?
    如何监控 Elasticsearch 集群状态?
    对于 GC 方面,在使用 Elasticsearch 时要注意什么?
    memcached 和 MySQL 的 query ?
    memcached 如何实现冗余机制?
    memcached 能接受的 key 的最大长度是多少?
    memcached 的多线程是什么?如何使用它们?
  • 原文地址:https://www.cnblogs.com/dajianshi/p/379022.html
Copyright © 2011-2022 走看看