両方ともPage_PreRender、Page_Load私が使用しているマスターページでは機能しません。Page_Initただし、何らかの理由で実行します。AutoEventWireuptrueに設定されています。
public partial class MyMaster : MasterPage
{
public MyMaster()
{
// tried this too, but doesn't matter whether this LoC
// is there or not
this.PreRender += Page_PreRender;
}
protected void Page_PreRender(object sender, EventArgs e)
{
// does not fire
}
}
空のWebプロジェクトでも試してみました。そこでは正常に動作します。
EnableViewState編集:私はそれをtrue修正するためにその設定を理解しました:
<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true"
CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %>
しかし、ViewStateを有効にしたくありません。OnPreRender値が何であっても、オーバーライドも同様に機能しEnableViewStateます。今、私はなぜだろうと思っています、そしてオーバーライド方法を使用するだけで私にはハッキーに思えます。誰か助けてもらえますか?