page_Load和page_Init的区别

时间:2021-09-13 00:05:18

Page_Init事件当页面初始化时运行,例如可以在加载控件之前检测客户端环境变量,它与Load工作方式差不多,但在Load之前运行,当网页重新加载时不会再触发这个事件。(意思就是只有第一次加载页面的时候才会加载页面

protected void Page_Init(object sender, EventArgs e)
 {
 }

这个方法先于page_load之前执行,也在控件初始化前执行

 

Page_Load事件:当页面被读入内存,进行处理时引发该事件,使用该事件要切记,在使用Page_Init事件之后,每次刷新页面,.Net都会为它绘制一个全新的页面,并将它按新页面来处理,所以每次重新加载都要触发这个事件。(意思是在以下代码每次刷新又会重新执行

using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{

   

 protected void Page_Init(object sender, EventArgs e)
    {
        DropDownList1.Items.Add("a");
        DropDownList1.Items.Add("b");
    }


    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack) -->获取一个值,该值指示该页面是否正为响应客户端回发而加载,或者是否正被首次加载和访问。
        {
            DropDownList1.Items.Add("aaaa");
            DropDownList1.Items.Add("bbbb");
        }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        DropDownList1.Items.Add(TextBox1.Text);
    }

 }