gpt4 book ai didi

c# - Page_Load 上的断点如何不命中?

转载 作者:IT王子 更新时间:2023-10-29 04:53:08 28 4
gpt4 key购买 nike

我在页面的 Page_Load 事件上设置了一个断点,该事件永远不会被触发。没有警告或消息表明断点可能永远不会被击中,即使页面加载成功它也永远不会被击中。

成功登录后,使用登录控件的 DestinationPageUrl 属性将用户重定向到此页面。如上所述,我可以登录并进入此页面,所以至少那部分是有效的。

如果我在登录页面的 Page_Load 事件上设置断点(这里只是普通的旧 ASP.NET 示例 Web 应用程序),断点将被命中。我可以进入代码,但 page_load 事件永远不会被击中,页面只会出现。在这个序列中,我逐步执行了 login.aspx 和 site.master 的 page_load 事件,但没有执行我真正想看到的 page_load。

有什么建议吗?谢谢!

最佳答案

为了执行 Page_Load,必须满足以下条件之一:

  • 您必须在 aspx 页面的 @Page 指令中设置 AutoEventWireup="true"。

  • 事件处理程序必须显式连接,通常在 OnInit 中

更新

正如@bzlm 的评论中所指出的,AutoEventWireup 的默认值为“true”,因此实际上如果页面指令中缺少 AutoEventWireup 属性,它也会被执行。

旧版本的 Visual Studio(当然是 2003,也许是 2005)用于 explicitly wireup events, and recommend to set AutoEventWireup to false .

据我所知,我认为这不再是真的。显式接线是通过以下行完成的:

this.Load += new System.EventHandler(this.Page_Load);

在由设计器生成并从 OnInit 方法调用的 InitializeComponent 方法中。

关于c# - Page_Load 上的断点如何不命中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5707487/

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