C#で書いてみました。

<%@ PAGE LANGUAGE="C#" AutoEventWireup="false" Inherits="Test" Src="sample.aspx.cs" %>
<html>
<body>
  <asp:Label id="l1" runat="server" />
  <br>
  <asp:Label id="l2" runat="server" />
</body>
</html>

using System;
using System.Web.UI;
using System.Web.UI.WebControls;

public class Test : Page
{
  protected Label l1;
  protected Label l2;

  private void Page_Init(object sender, EventArgs e) {
    l1.Text = "Page_Init";
  }

  private void Page_Load(object sender, EventArgs e) {
    l2.Text = "Page_Load";
  }

  // AutoEventWireupがfalseの為、上記メソッドを、
  // イベントに明示的に登録しなければならない
  override protected void OnInit(EventArgs e) {
    Init += new System.EventHandler(Page_Init);
    Load += new System.EventHandler(Page_Load);
 
    // InitイベントはPage.OnInitメソッドの内部で発行されている。
    // このメソッドをオーバーライドすると、Initイベントが発生しなくなってしまう為、
    // Initイベントを発生させる為に、基本クラス(Pageクラス)のOnInitメソッドを呼ぶ。
    base.OnInit(e);
  }
}