<%@ 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);
}
}