易截截图软件、单文件、免安装、纯绿色、仅160KB

asp.net 页面生存周期 转

1. PreInit()在这个页面级的事件中,所有在设计时创建的控件都将被用默认值做初始化。例如,如果你有一个Text属性值为"Hello"的TextBox控件,则此时这个属性被设置。我们也可以在这里动态的创建控件。这个事件仅仅发生在页级别的类中,用户控件和母版页没有这个事件。下面的代码示例了如何重写这个方法以增加你的自定义代码protected override void OnPreInit(EventArgs e){//custom codebase.OnPreInit(e);}注意,我们只能在PreInit()事件中动态的设置themes,且应该在PreInit()事件或该事件之前加载母版页。 2. OnInit()在这个事件里,我们能读出控件的属性(在设计模式中设置的)。但是我们不能读出用户设置的值,因为得到用户设置的值是在LoadPostData()事件被激发之后。不过在这个事件中我们可以得到POST数据,如下string selectedValue = Request.Form[controlID].ToString(); 3. LoadViewState这个事件仅仅在回发之后被激发(IsPostBack == true)。在这个事件中runtime从隐藏域中分解出view state并加载到所有启用了view state的控件。 4. LoadPostBackData这个事件也仅仅是在回发之后被激发。在这个事件里实现了IPostBackDataHandler接口的控件从HTTP的POST数据中得到值。注意,textbox控件不能从view state中获得值,而是在此事件中从POST数据中获得值。所以即使有些控件没有启用view state,只要它实现了IPostBackDataHandler接口就可以从HTTP的POST数据中得到值。 另一个重要的知识点是如果我们有一个DropDownList控件并动态的给它增加一些选择项,那么runtime将不能得到这些值除非启用了view state(即使控件继承自IPostBackDataHandler接口)。这个原因就是在HTTP的POST数据中的每一个控件只能有一个值,并且POST数据中的所有值都不会被保存,除了使用view state。 5. Page_Load这是最常用的方法了,而且是一些开发新手放置他们代码的第一个地方,有些新手们往往认为这就是Page类第一个触发的方法。这个方法是混淆我们Page生存周期的罪魁祸首之一。注意:如果页里有任何用户控件的话,那么用户控件的Load方法将在页类的Load方法之后被触发。除了Init()和Unload()之外的所有事件都是从最外面到最里面被激发的,所以页的Page_Load()之后,页内的其它控件的Load方法才被触发。 6. Control Event Handlers事件处理(比如像Button1_Click()之类的)是定义在ASPX页面中的,有一些开发人员认为当单击一个按钮后会立即出发Button_Click() ,他们


相关文档:

浅谈ASP.net安全编程

在Web编程过程中,存在着很多安全隐患。比如在以前的ASP版本中,Cookie为访问者和编程者都提供了方便,并没有提供加密的功能。打开IE浏览器,选择“工具”菜单里的“Internet选项”,然后在弹出的对话框里单击“设置”按钮,选择“查看文件”按钮,在弹出的窗口中,就会显示硬盘里 ......

ASP.NET开发:在用户控件中添加事件

 在《ASP.NET开发:在用户控件中添加属性》这一篇文章中我们定义了一个用户登录的用户控件UserLogin.ascx 文件,里面包含了一个LinkButton服务器按钮控件,当用户单击该按钮时服务器端会自动生成一个回发来激发Page.Load事件。除了服务器自动产生回发来激发Page.Load事件外,我们可以给LinkButton添加一个它自己的事件 ......

ASP.NET学习笔记六 搭建“第三波书店”系统框架

一般搭建三层框架项目是这样的:
1、创建一个空的解决方案
2、创建类库项目
3、创建网站项目
4、添加项目之间的引用,需要注意的是表示层(网站项目层)是不需要添加其它层引用的,因为运行后,会自动产生对其它项目的引用
 三层结构:
         数据访问层:主要实现数 ......

ASP.NET note I

 Page_Load--页面加载事件.
Page.IspostBack判断是否第一次加载。
   每次响应服务信息(既客户请求ASP.NET页面-ASPX文件或Web服务-
ASMX文件)就加载一次(执行一次Page_Load)。
   加载的时候并不是每次多编译一次代码文件,因为:每一次请求
ASPX文件时并不是多要进行一次编译,而是第一次执 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号