一直在学习
导航
博客园
首页
联系
订阅
管理
统计
随笔 - 30
文章 - 0
评论 - 140
引用 - 0
公告
您是第
访问者
与我联系
发短消息
搜索
我参与的团队
广州.NET俱乐部(0/1741)
ASP.NET AJAX (Atlas)学习(0/1352)
随笔分类
(20)
Asp.net(6)
(rss)
C#(4)
(rss)
HTML/CSS(1)
(rss)
JavaScript(1)
(rss)
LinQ
(rss)
Oracle(3)
(rss)
Sql Server
(rss)
WorkFlow工作流
(rss)
分布式计算(1)
(rss)
架构设计
(rss)
情感收获(3)
(rss)
项目管理(1)
(rss)
随笔档案
(30)
2008年8月 (2)
2008年7月 (4)
2008年6月 (3)
2008年5月 (1)
2007年8月 (1)
2007年3月 (1)
2006年6月 (1)
2006年4月 (3)
2006年2月 (5)
2005年12月 (5)
2005年11月 (4)
技巧
ScottGu 的技巧汇总
SQL Server执行部分语句的内存代价
正则表达式
正则表达式
最新随笔
1. Html的一些小东西
2. 职业发展三岔口-技术还是管理?那太难抉择了
3. Nhibernate学习点滴<一> 配置注意事项
4. WebPart全接触1(如何管理自己的WebPart个性化数据)
5. 比尔·盖茨 经典语录
6. 您的PC还处于待机中吗?让他参与科学计算吧!
7. 关于控件的中事件的执行顺序的问题?
8. 所有管理者最关心的问题-如何激发员工高绩效地工作? (转)
9. 幻灯片
10. 2007工作总结
积分与排名
积分 - 29896
排名 - 1439
关于控件的中事件的执行顺序的问题?
今天在做这样一件事的时候发现一个奇怪的问题,想请教各位:
在一个继承了DataGrid的控件MyGrid中,原来向页面注册MyGrid控件所需脚本是通过在OnPreRender中实现的
protected
override
void
OnPreRender(EventArgs e)
{
Page.ClientScript.RegisterClientScriptBlock(
typeof
(
string
), scriptID, script);
}
但如果改到了OnLoad事件中,也能正确的注册脚本,如
protected
override
void
OnLoad(EventArgs e)
{
Page.ClientScript.RegisterClientScriptBlock(
typeof
(
string
), scriptID, script);
base
.OnLoad(e);
}
但有一个区别,如果将MyGrid放到一个View中,那么当切换到另一View的时候
1 在OnPreRender里注册的那段脚本不会出现在另一个View中
2 在OnLoad里注册的那段脚本会出现在任何一个View中
原因是在OnLoad里注册脚本,会将脚本注册到Page中吗?还是其他原因
由此引发联想到一个问题:在Asp.Net中,页面周期中执行各系统函数(如OnLoad,OnPreRender)的执行顺序又是谁来决定的,是基类Control吗?如果是,又是Control的哪段代码呢?如果不是。。。。。。请各位指教
posted on 2008-06-11 13:45
Aldebaran's Home
阅读(188)
评论(2)
编辑
收藏
所属分类:
Asp.net
Comments
#1楼
560889223
控件的这些方法是由所在页面调用的(foreach循环调用的,控件再递归调用子控件的。),可以通过Reflector这个工具查询下引用关系可以找到。
具体网上有一篇文章介绍过,你可以搜索一下。那篇文章讲得很详细,包括了页面的整个创建过程。
Posted @ 2008-06-12 15:47
回复
引用
查看
#2楼
[
楼主
]
Aldebaran's Home
@560889223
多谢指点,在VS2005中选择【显示外部代码】可以找到调用的过程
是Page中调用了ProcessRequestMain()方法
ProcessRequestMain中的this.LoadRecursive();触发了OnLoad
Posted @ 2008-06-13 09:38
回复
引用
查看
新用户注册
刷新评论列表
标题
姓名
主页
Email
(博主才能看到)
验证码
*
看不清,换一张
[
登录
][
注册
]
内容(请不要发表任何与政治相关的内容)
网站首页
新闻频道
社区
小组
博问
网摘
闪存
找找看
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关文章:
Asp.net(C#)实现验证码功能
ExtJs+WCF+LINQ实现分页Grid
关于IE问题,请教和求救
终于干掉了默认的输入法, 关于ctfmon.exe文件
在Asp.net中如何实现目录选择
Asp.net 如何获取非浏览器请求的IP 地址
在Asp.net中如何实现目录选择
Open my english blog in Asp.net
相关链接:
所属分类的其他文章:
WebPart全接触1(如何管理自己的WebPart个性化数据)
关于控件的中事件的执行顺序的问题?
关于动态添加AsyncPostBackTrigger失效的问题
创建WEBPARTS全过程
用WEB SERVICE 返回数据集的简单应用
ASP.NET程序中常用的三十三种代码(转贴)
最新IT新闻:
红杉资本发出严重警告:黄金时代已成历史
2008年10月11日科技博客精选
搞死开心网还是搞活他?
网络书店“新”军
百度C2C电子商务平台“有啊”youa.com上线