I knew about Page PreRender event and also about overriding OnPreRender, but didn't know existence of Page_PreRender method. Recently while going through this forum i found and search the difference between both but couldn't get much?
Here is my observation:
I have a page with label Label1.
Scenario 1:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "load ";
}
protected override void OnPreRender(EventArgs e)
{
Label1.Text += "OnPreRender ";
base.OnPreRender(e);
}
private void Page_PreRender(object sender, System.EventArgs e)
{
Label1.Text += "Page_PreRender ";
}
value of Lable1 would be: load OnPreRender Page_PreRender
Scenario 2:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = "load ";
}
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
Label1.Text += "OnPreRender ";
}
private void Page_PreRender(object sender, System.EventArgs e)
{
Label1.Text += "Page_PreRender ";
}
Note the call order of base.OnPreRender(e);
value of Lable1 would be: load Page_PreRender OnPreRender
I can only say base.OnPreRender(e) is calling Page_PreRender(), but isn't it private?
Can some one please tell, what is difference between both and when to use which? In general which one should be used?
The OnPreRender method of the page is responsible for raising the Page_PreRender event.
Usually you should just subscribe to the Page_PreRender event.
If you need to do some special processing before it's safe to raise the Page_PreRender event, then you can override the OnPreRender method and do the processing before calling base.OnPreRender(e).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With