Asp.net 页面生命周期 page_loadComplete

发布于 2024-08-08 07:58:34 字数 133 浏览 7 评论 0原文

在我的 Web 应用程序中,我在 page_loadComplete 事件中加载用户控件。这工作正常,但是当在用户控件中单击按钮时,永远不会触发单击事件。这和页面生命周期有关系吗?该按钮单击 (UI) 事件发生在 LoadComplete 事件之前吗?

In my web application I load user controls in the page_loadComplete event. This works fine, however when a button is clicked in a user control, the click event is never fired. Does this has something to do with the page lifecycle? That button click (UI) events occur before the LoadComplete event?

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

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

发布评论

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

评论(3

甜心小果奶 2024-08-15 07:58:34

您需要确保在事件处理程序触发之前再次订阅按钮的单击事件。 LoadComplete 在控制事件之后发生。作为参考,ASP.NET 页面生命周期概述给出了非常好的总结。

代码片段:

  • ...
  • 加载
  • 控件事件
  • LoadComplete
  • PreRender
  • ...

您还需要确保动态加载的控件全部位于同一位置,以便视图状态和控件状态可以重新应用到与回发之前相同的层次结构。

基本上,您需要在每次回发时加载所有动态控件。

这是遇到同样问题的人,以及其中一些问题的解决方案: ASP.NET 动态控件

You need to make sure the click event of the button is once again subscribed to, before event handlers fire. LoadComplete happens after control events. For a reference, the ASP.NET Page Life Cycle Overview gives a pretty nice summary.

Snippet:

  • ...
  • Load
  • Control events
  • LoadComplete
  • PreRender
  • ...

You also need to make sure that the controls that you dynamically load all end up in the same place, so viewstate and controlstate can be reapplied to the same hierarchy as before postback.

Basically, you need to load all dynamic controls on each postback.

Here's someone with the same problem, and solutions to some of them: ASP.NET dynamic controls

写给空气的情书 2024-08-15 07:58:34

实际上,您的情况发生的是,当您单击按钮时,在事件引发之前,LoadCoplete 事件在页面生命周期中首先触发,并再次创建相同的控件,并且您的事件丢失了。

Actually what is happening to your situation is, when you click on the button, before event raising, LoadCoplete event fire first in the page lifecycle and same control is again created and here is your event is lost.

音盲 2024-08-15 07:58:34

ASP.NET 页面中的事件处理发生在验证之后和渲染阶段之前。验证阶段发生在加载之后。

LoadComplete 发生在 Control 事件之后、RreRender 事件之前。

Event Handling in ASP.NET page happens after Validation and before Rendering phase. And Validation phase happens after Load.

LoadComplete happens after Control events and before RreRender event.

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