1) 我知道有很多网站描述了在 Asp.Net 页面生命周期中事件的调用顺序。但是是否还有一种工具,也许是 Reflector,可以让我自己弄清楚页面的所有事件及其事件处理程序在页面生命周期中的调用顺序是什么?
2) 你会说试图弄清楚引擎盖下到底发生了什么是好主意还是浪费时间?澄清一下——我想弄清楚构建控制树时到底发生了什么——因此所有方法调用、所有调用的事件等都是构建控制树所需的(我想有数百甚至数千行为构建控制树而编写的代码)。
谢谢
最佳答案
ASP.net Tracing会是我想要的那个。它会向您显示页面/控件中的每个方法何时被调用,您还可以将其他数据输出到跟踪。它的主要目的是(我猜!)作为调试工具,但我认为它足以向您展示页面正在进行的确切生命周期。
要打开跟踪,请将以下内容添加到您的 web.config 文件中:
<trace enabled="true" pageOutput="true" requestLimit="10" traceMode="SortByTime" localOnly="true" />
正如 Jim Schubert 在评论中指出的,您还可以修改特定页面的 @page 指令以启用跟踪:
<%@ Page Title="" Trace="true"......
然后您可以通过导航到“Trace.axd”来访问跟踪详细信息。如果您使用的是远程服务器(即不是本地主机上的 Cassini 或 IIS),则将上面代码段中的 localonly="true"
更改为 localonly="false"
。
了解 WebForms 幕后发生的事情会非常有用,这肯定会使解决一些奇怪的问题和边缘情况变得很多容易。
关于c# - Asp.Net 页面生命周期 - 什么工具(也许是 Reflector?)可以让我查看调用页面事件及其事件处理程序的顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2374539/