gpt4 book ai didi

asp.net - 什么调用 Page_Load 以及它是如何做到的?

转载 作者:行者123 更新时间:2023-12-03 11:39:43 26 4
gpt4 key购买 nike

Page_Load 不是虚拟方法。什么调用这个方法,它是如何做到的?是反射还是其他技术?还有多少事件是这样处理的?

在重载的 OnLoad 或 Page_Load 中处理事情是否更可取?它们有何不同?

最佳答案

ASP.NET 有一个叫做“AutoEventWireup”的特性——这个特性允许你创建具有 EventHandler 的方法。名称如 Page_Load 的签名并且运行时会将事件从父页面连接到您的类中的方法。基本上,运行时会代表您执行此操作:

this.Load += this.Page_Load;

现在最好禁用 AutoEventWireup 并在页面 OnInit 中自己创建这些事件处理程序方法或简单地覆盖父页面的 OnLoad方法。

编辑(响应下面的 OP 评论):这个过程不包括按钮点击等,但过程是相似的。

为了像 MyButton_Click 这样的方法要在没有显式创建事件处理程序的情况下工作,您必须设置 OnClick aspx 文件中控件的属性,如下所示:
<asp:button 
id="MyButton"
onClick="MyButton_Click"
runat="server" />

这将提示 ASP.NET 为您创建按钮单击委托(delegate)并将其附加到按钮的 Click事件。

关于asp.net - 什么调用 Page_Load 以及它是如何做到的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494543/

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