I think you are not aware of the page life cycle.
Page_Init will always be called when the page is created and called before the page loads.
Pre Init is called, then Init is called, then Pre Load, and then Load, then Pre Render, and then Render, almost every time the postback occurs.
You can do this trick if you are not on a live server. Add
Trace ="true"
in the page directive, which will show you the full page loop.
Like this,
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" Trace="true"%>
source share