ASP中的预呈现器.NET母版页未启动
本文关键字:NET 母版页 启动 ASP | 更新日期: 2023-09-27 18:17:05
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
}
}
我也在一个空的Web项目中尝试了一下。
编辑:我发现设置EnableViewState
为true
修复它:
<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true"
CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %>
但是我不希望ViewState被启用。重写OnPreRender
也可以,不管EnableViewState
的值是多少。现在我想知道为什么,只是使用重写的方式对我来说似乎是一个黑客。有人能帮忙吗?
我建议在页面指令中使用AutoEventWireup
,所以请尝试如下:
在你的页面指令<%@ Page ...
中,使用AutoEventWireup="true"
,在你的主页中,删除PreRender
事件订阅:
public MyMaster()
{
// tried this too, but doesn't matter whether this LoC
// is there or not
//this.PreRender += Page_PreRender;
}
希望你现在一切都好,谢谢你的时间。
编辑:请检查您的web.config
文件,并确保AutoEventWireup
未设置为False