Page PreRender イベントと OnPreRender のオーバーライドについては知っていましたが、Page_PreRender メソッドの存在は知りませんでした。最近、このフォーラムを調べているときに、両方の違いを見つけて検索しましたが、あまり得られませんでしたか?
ここに私の観察があります:
Label1 というラベルのページがあります。
シナリオ 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 ";
}
Lable1 の値は次のようになります: load OnPreRender Page_PreRender
シナリオ 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 ";
}
base.OnPreRender(e); の呼び出し順序に注意してください。
Lable1 の値は次のようになります: load Page_PreRender OnPreRender
base.OnPreRender(e) が Page_PreRender() を呼び出しているとしか言えませんが、プライベートではないでしょうか。
両方の違いと、どちらをいつ使用するかを教えてください。一般的に、どちらを使用する必要がありますか?