如果页面没有回传,发生顺序为:!page.isPostBack
OnInit Page_Load CreateChildControls OnPreRender RenderContents如果页面没有回传,发生顺序为:page.isPostBack
OnInit CreateChildControls Page_Load Button1_Click OnPreRender RenderContents
为什么会有Page_Load CreateChildControlsCreateChildControls Page_Load的不同?
OnInit Page_Load CreateChildControls OnPreRender RenderContents如果页面没有回传,发生顺序为:page.isPostBack
OnInit CreateChildControls Page_Load Button1_Click OnPreRender RenderContents
为什么会有Page_Load CreateChildControlsCreateChildControls Page_Load的不同?
解决方案 »
- 高手谁能帮我写一个存储过程! 而且在代码页调用存储过程的例子!
- 数据表某字段清O
- 菜鸟求助!怎么用OledbDataAdapter向数据库中添加记录并在GridView中显示出来
- 关于Ajax加载ResponseXML含特殊字符的问题,在线等
- ado.net 使用事务会更快,是怎么回事?
- 垃圾回收机制,asp.net中经常new一个对象这样会不会系统越来越慢?
- Asp.net项目中有些页面需要用https协议来访问,请各位帮忙
- Datagrid中如何控制一些列不显示?
- 数据的显示和修改
- 我要SQL2005开发版的地址
- 求正则表达式,在线等,大虾们帮个忙呀。
- 大家谈谈在.net做web开发的时候,权限验证一般都用什么!
{
string str;
this.EnsureChildControls();
if (!this.flags[0x80])
{
Control namingContainer = this.NamingContainer;
if (namingContainer != null)
{
return namingContainer.FindControl(id, pathOffset);
}
return null;
}
if (this.HasControls() && (this._occasionalFields.NamedControls == null))
{
this.EnsureNamedControlsTable();
}
if ((this._occasionalFields == null) || (this._occasionalFields.NamedControls == null))
{
return null;
}
char[] anyOf = new char[] { '$', ':' };
int num = id.IndexOfAny(anyOf, pathOffset);
if (num == -1)
{
str = id.Substring(pathOffset);
return (this._occasionalFields.NamedControls[str] as Control);
}
str = id.Substring(pathOffset, num - pathOffset);
Control control2 = this._occasionalFields.NamedControls[str] as Control;
if (control2 == null)
{
return null;
}
return control2.FindControl(id, num + 1);
}
一开始就调用EnsureChildControl(从而就调用了CreateChildControls)来创建了子控件,这样就通知子程序赶紧创建一个“空架子”,好让asp.net可以找到这个空架子、填入状态值。不是所有子控件都是在回发时在页面的page_load之前恢复出子控件架构的。例如你在父控件的page_load事件处理程序过程中动态加载一个控件,这时候这个加入的控件就会“追赶上”页面的各个过程——Init、LoadViewState、LoadPostData等等,因此在父控件的page_Load中动态加载的控件它自己以及它的子控件的CreateChildControls就是在父控件的page_Load都触发了的时候才被调用的。
因为此时根本不用在page_load之前进行LoadViewState和LoadPostdata,从而也根本不会在page_Load之前去调用FindControl,从而根本不会再page_load之前调用EnsureChildControls,也就根本不会在page_load之前调用CreateChildControls。