И Page_PreRender
, и Page_Load
не работают на главной странице, с которой я работаю. Page_Init
, однако, по любой причине. AutoEventWireup
имеет значение true.
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
}
}
Я тоже попробовал это в пустом веб-проекте. Там все отлично работает.
Редактировать: я понял, что установка EnableViewState
на true
исправляет это:
<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true"
CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %>
Но я не хочу, чтобы ViewState был включен. Переопределение OnPreRender
также работает независимо от значения EnableViewState
. Теперь я задаюсь вопросом, почему, и просто использование метода переопределения кажется мне хакерским. Кто-нибудь может помочь?