zoukankan      html  css  js  c++  java
  • 手工调试自定义控件各主要方法执行顺序(分运行时和设计时)

    继承TextBox,override各个方法,分别下断点调试。
    ctor为构造函数
    在构造函数中,通过代码:
    this.Text = (new Random(DateTime.Now.Millisecond)).Next(100000, 999999).ToString();
    调试时,盯着this.Text,就知道是否还在这个对象里面


    运行时调用顺序
    ctor
     CreateControlStyle
    ApplyStyleSheetSkin
    OnInit
    TrackViewState
    Page_Load
    OnLoad
    EnsureChildControls
     CreateChildControls
    OnPreRender
    SaveViewState
    SaveViewState
    HasControls
    RenderControl
     Render
      RenderBeginTag
       AddAttributesToRender
      RenderEndTag
    OnUnload

    设计时调用顺序
    ctor
     CreateControlStyle
    OnInit
    TrackViewState
    第一次打开页面设计视图时,执行一次上面方法
    以后每次从代码视图切换到页面视图,都执行一次上面的方法,
    再执行下面的方法,形成了两个控件,
    展现出来的,是下面方法创建的控件,
    但从页面视图切换到代码视图时,上面的方法触发UnLoad
    注意:第一次打开IDE,打开页面视图时,上面方法执行两次,才到下面方法执行一次
    ctor
     CreateControlStyle
    RenderControl
     Render
      RenderBeginTag
       AddAttributesToRender
      RenderEndTag

  • 相关阅读:
    ERRORCODE=4228, SQLSTATE=null
    DB2和Oracle中唯一约束和唯一索引对比
    SW 3D 样条曲线
    SW 快速操作
    spring依赖注入的方式(一)
    Oracle Connect By的用法
    转:min(x,y)高效算法
    【转】QQ盗号核心编程
    转:理解并解决GBK转UTF8奇数中文乱码
    Oracle数据库的导入和导出命令
  • 原文地址:https://www.cnblogs.com/nnhy/p/608694.html
Copyright © 2011-2022 走看看