So I have absolutely no logic in my code.
I have the two methods Page_Init
& Page_Load
Both methods get called every time I click the button. It makes sense for Page_load to get called. But why does Page_Init get called every time?
protected void Page_Init(Object sender, EventArgs e)
{
}
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button1_Click1(object sender, EventArgs e)
{
// Do something here
}
Page_Init is definitely called on every page hit, postback or not, exactly the same as Page_Load .
If your code is reliant on the OnClick event, then you can put that particular code in the OnPageRender override (rather than in Page_Load), as it will fire after the OnClick event handler.
The Viewstate is actually loaded in the OnPreLoad event of the page,Just after the Page_InitComplete.
Load. The Page object calls the OnLoad method on the Page object, and then recursively does the same for each child control until the page and all controls are loaded. The Load event of individual controls occurs after the Load event of the page.
I guess you are unaware of Page Life Cycle.
Page_Init will always be called on page creation and it is called before Page Load.
Pre Init is called then Init is called and then Pre Load and then Load and then Pre Render and then Render on almost every time postback happens.
You can do this trick if you are not on live server. Add
Trace ="true"
in Page directive that will show you complete page cycle.
Like this,
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
Inherits="_Default" Trace="true"%>
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