网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 手机学院 | 邮件系统 | 网络安全 | 认证考试
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.web.config点滴:更改login控件对.
.在Asp.net用C#建立动态Excel(外文.
.网页乱码问题ASP.NET.
.ASP.NET入门随想之博德之门 类与.
.ASP.NET中实现大结果集分页研讨.
.ASP.NET动态加载控件的"追赶论".
.ASP.NET 2.0 Club Web Site Star.
.ASP.NET系统用户权限设计与实现.
.Asp.net中多彩下拉框的实现.
.五种常见的ASP.NET安全缺陷.
.一个简单的ASP.NET Forms 身份认.
.IIS同一站点下aps.net 1.1与2.0 .
.ASP.NET数据库编程之处理文件访问.
.一种“您无权查看该网页”的原因.
..NET框架2.0里的aspnet_compiler.
.给Asp.Net初学者的关于继承和多态.
.ASP.NET中利用cookies保持客户端.
..NET正则表达式使用高级技巧之组.
.用Asp.net屏蔽F5、Ctrl+N、Alt+F4.
.编写高性能Web应用程序的10个技巧.

ASP.NET动态加载控件的"追赶论"

发表日期:2008-12-12

  当初我实现这个的时候也是相当郁闷,老是丢失值,于是我就用Visable来解决(是加载WebControl)。以下是其他人的解决方案,蛮有参考价值的。
引用 随心所欲
http://www.cnblogs.com/dlwang2002/archive/2006/12/07/585093.html
结论就是:

1:在特定的时刻加入该控件的定义。至少在Page_Load以前,我用的Page_Init。晚了就执行不了了
2:该控件的id必须一致。因为状态的恢复是根据控件id来完成的。
3:Rebuild的时候一定不要调用子控件的初始化的函数,这样会浪费时间。

问题:可不可以通过设置UserControl的IsPostBack属性来达到一种和Page类似的处理方式呢?这样在UserControl里面就可以使用if(!IsPostBack)来做一些数据初始化了。
引用 Cat Chen
我有写过《深入理解ASP.NET动态控件》的系列文章,你可以去看看有没有值得参考的内容:
http://www.cnblogs.com/cathsfz/archive/2006/10/31/545521.html
http://www.cnblogs.com/cathsfz/archive/2006/11/05/550985.html
http://www.cnblogs.com/cathsfz/archive/2006/11/19/564929.html
关于追赶加载也详细解释了,并非0~n步都会在追赶加载中执行,只有特定的步骤会执行。如果控件已经加载完第k步,添加到另一个加载完第n步的控件中,则仅执行(k+1)~n步,前面的不会重复执行。

至于UserControl的加载很费时,这是你无法绕过去的。如果你的意思是,页面默认加载UserControlA,发生事件后要丢弃UserControlA改为加载UserControlB,浪费了时间在加载UserControlA上。以现在的ASP.NET页面生存周期模型,我们无法解决这个问题,你改进后的解决方案也还是要先加载默认的UserControlA。

上一篇:借助WebService实现多线程上传文件 人气:244
下一篇:页面刷新后WebControl的动态添加内容不重生成的解决方案 人气:196
浏览全部ASP.NET的内容 Dreamweaver插件下载 网页广告代码 2009年新年快乐