gpt4 book ai didi

c# - ASP.NET 母版页中的 PreRender 未触发

转载 作者:太空狗 更新时间:2023-10-29 23:53:33 27 4
gpt4 key购买 nike

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 项目中尝试过它。它在那里工作正常。

编辑:我发现将 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 .

关于c# - ASP.NET 母版页中的 PreRender 未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431231/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com