Asp.net以声明方式添加控件.它们在哪里实例化

本文关键字:在哪里 实例化 控件 添加 net 声明 方式 Asp | 更新日期: 2023-09-27 18:25:06

我刚回到asp.net的web表单,我对控件有一个问题。当我以声明方式添加控件(即通过从工具箱中拖放控件),例如在aspx页面上添加按钮时,我希望在designer.cs文件中声明和实例化按钮对象相反,我能找到的只有

protected global::System.Web.UI.WebControls.Button ButtonTest;

但我找不到创建新按钮对象并将其分配给ButtonTest的代码。有人知道这种情况何时何地发生吗?

Asp.net以声明方式添加控件.它们在哪里实例化

在.NET 1.1时代,它曾经按照您描述的方式工作。分部类的引入使这种方法得以简化,因此您通常不必直接与生成的代码交互。

如果你想看看框架到底在做什么:标记被编译成一个分部类,其中包含页面上对象的声明,以及对构造函数的调用等。

您无法轻松查看Visual Studio中自动生成的代码。要查看它,请为您的项目启用调试并查看:

C: ''Windows''Microsoft.NET''Framework''v4.0.30119''临时ASP.NET文件''

编译后的文件的源代码应该在其中一个子目录中。

更简单的是,如果你在页面中创建了一个小的编译错误,然后尝试在浏览器中查看它,你应该在错误页面的底部看到一个链接,可以查看"编译源"。

整件事有一个复杂的生命周期,本文解释了什么时候做什么以及按什么顺序做。http://msdn.microsoft.com/en-us/library/ms178472.aspx