ASP中的预呈现器.NET母版页未启动

本文关键字:NET 母版页 启动 ASP | 更新日期: 2023-09-27 18:17:05

Page_PreRenderPage_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项目中尝试了一下。

编辑:我发现设置EnableViewStatetrue修复它:

<%@ Master Language="C#" MasterPageFile="~/MainMaster.master" AutoEventWireup="true"
    CodeBehind="MyMaster.master.cs" Inherits="MyMaster" EnableViewState="false" %>

但是我不希望ViewState被启用。重写OnPreRender也可以,不管EnableViewState的值是多少。现在我想知道为什么,只是使用重写的方式对我来说似乎是一个黑客。有人能帮忙吗?

ASP中的预呈现器.NET母版页未启动

我建议在页面指令中使用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