zoukankan      html  css  js  c++  java
  • asp.net 页面事件及处理顺序

    Page_PreInit

    使用IsPostBack属性确定是否是第一次处理该页;创建动态控件;动态设置Theme属性;读取或设置配置文件属性值等

    Page_Init

    读取或初始化控件属性

    Page_Preload

    事件在所有回发数据处理之后但在 Load 事件之前引发

    Page_Load

    读取和更新控件属性

    Control   events

    处理特定事件,如 Button 控件的 Click 事件

    Page_PreRender

    对页的内容进行最后更改

    Page_Unload

         执行最后的清理工作,例如关闭打开的文件和数据库连接等

    以下代码可以用于验证这些事件的触发顺序

     

    protected void Page_Load(object sender, EventArgs e)  
      
    {  
      
    lbText.Text += "Page_Load <hr> ";  
      
    }  
      
    protected void Page_PreInit(object sender, EventArgs e)  
      
    {  
      
    lbText.Text +=  "Page_PreInit <hr>";  
      
    }  
      
    protected void Page_Init(object sender, EventArgs e)  
      
    {  
      
    lbText.Text += "Page_Init <hr>";  
      
    }  
      
    protected void Page_PreLoad(object sender, EventArgs e)  
      
    {  
      
    lbText.Text += "Page_PreLoad <hr>";  
      
    }  
      
    protected void Page_PreRender(object sender, EventArgs e)  
      
    {  
      
    lbText.Text += "Page_PreRender <hr>";  
      
    }  
    

      

    lbText是在页面顶端放置的一个Lable控件。运行后在浏览器中呈现如图6-1所示的效果。

    需要特别说明的是Page_Unload事件,它容易被误解为关闭页面时所触发的事件。但是执行下面的代码后就会发现其实不然。

    protected void Page_Unload(object sender, EventArgs e)  
      
    {  
         System.Web.HttpContext.Current.Response.Write("<Script>alert('Page_Unload');</Script>");  
    }  
    

      

    页面在请求完成后,就立刻触发了该事件。关闭页面是一个客户端的事件,请不要与之混淆。此外,如果在Page_Unload中调用Response.Write方法,还会得到一个“响应在此上下文中不可用。”的错误警告。

    了解了页面事件的触发顺序,在实际网站的开发中,我们就可以根据需要在不同的事件发生时给出处理操作。

    http://www.blogjava.net/Hopes/articles/377837.html

  • 相关阅读:
    java图片压缩处理
    RocketMQ启动broker提示 错误:找不到或无法加载主类
    Docker
    openresty (nginx+lua)实现请求过滤
    mybatis-3.4.0 Date类型非空字符串判断bug
    ClickHouse 官方文档
    Flume 搭建遇到的问题
    Hadoop与HDFS
    关于Linux
    mybatis insert 返回主键
  • 原文地址:https://www.cnblogs.com/peterdys/p/2770744.html
Copyright © 2011-2022 走看看