Page_PreRender
とPage_Load
の両方が、使用しているマスターページで機能しません。しかし、何らかの理由でPage_Init
が発生します。 AutoEventWireup
はtrueに設定されます。ASP.NETマスターページのプレレンダリングが実行されません。
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プロジェクトでも試してみました。それは正常に動作します。
編集:
<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true"
CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %>
しかし、私は、ViewStateが有効にされたくない:私はEnableViewState
true
に修正、それを設定することを考え出しました。 EnableViewState
の値に関係なく、OnPreRender
を無効にすることもできます。今、なぜ私は不思議に思っています。オーバーライド方法を使用するだけで私にとってはハッキリのようです。誰でも助けることができますか?
なぜ、プールmyMaster内のすべてのメソッドが呼び出されると思いますか? –
申し訳ありませんが、これはコンストラクタです。いくつかのウィンドウからポストにコードをコピーしている間に、コピー+ペーストが失敗します。 –
マスターページを参照するページを呼び出しますか? – slfan