两者Page_PreRender
都Page_Load
不能在我正在使用的母版页中工作。Page_Init
但是,出于任何原因。AutoEventWireup
设置为真。
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
。现在我想知道为什么,只是使用覆盖方式对我来说似乎很笨拙。有人可以帮忙吗?