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

发布于 2025-01-07 15:03:55 字数 284 浏览 0 评论 0原文

我又回到了 ASP.NET Web 表单,并且有一个关于控件的问题。 当我以声明方式添加控件(即通过从工具箱中拖放控件)时,例如将按钮添加到 aspx 页面上,我期望发生的情况是在 Designer.cs 文件中声明并实例化按钮对象 相反,我所能找到的

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

只是无处可找到创建新按钮对象并将其分配给 ButtonTest 的代码。有谁知道这种情况发生在哪里/何时?

Ive been getting back into asp.net web forms and I had a question about the controls.
When I add a control declaratively (ie by dragging and drop a control from the toolbox), for instance a button onto an aspx page, what I expected to occur was for a button object to be declared and instantiated in the designer.cs file
Instead all I can find is

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

but nowhere can I find the code that created a new button object and assigns it to ButtonTest. Does anybody know where/when this occurs?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

本宫微胖 2025-01-14 15:03:55

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

如果您想确切地了解框架正在做什么:标记被编译成分部类,其中包含页面上对象的声明以及对构造函数的调用等。

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

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\

已编译文件的源代码应位于其中的子目录之一。

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

It used to work along the lines you describe, back in .NET 1.1 days. The introduction of partial classes allowed that approach to be simplified, so you normally don't have to directly interact with the generated code.

If you'd like to see exactly what the framework is doing: the markup gets compiled into a partial class, which contains the declarations for the objects on the page, along with calls to constructors, etc.

You can't easily view the auto-generated code from Visual Studio. To see it, enable debugging for your project and look in:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\

The source code for the compiled file should be in one of the subdirectories there.

Even easier, if you create a small compilation error in your page, then try to view it in a browser, you should see a link at the bottom of the error page that lets you view the "compilation source."

少钕鈤記 2025-01-14 15:03:55

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

There is a complex life cycle for the whole thing, this article explains what is done when and in what order. http://msdn.microsoft.com/en-us/library/ms178472.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文