【发布时间】:2025-12-07 09:00:02
【问题描述】:
我有一个设置了 RowDataBound 事件的 GridView。
如果我在另一个控件的事件(例如按钮的OnClick 事件)引起的回发期间将 GridView 的“Visible”属性更改为“False”,GridView 的事件还会触发吗?
查看ASP.NET Page Life Cycle Overview 我无法确定是否会出现这种情况,因为文档只是说明Control Events 发生在Load 事件之后和LoadComplete 事件之前,但没有给出命令我可以看到并且没有任何迹象表明“可见”属性是否会改变它对事件的执行。
我会假设,尽管可能不正确,当一个事件导致回发时,导致回发的事件将首先执行,然后后续的控制事件将不按特定顺序执行。如果一个控件的事件将另一个在回发之前为“假”的控件的“可见”属性更改为“真”,则变为可见的控件将“赶上”它在循环移动到@之前触发的事件987654327@页面事件。
我还假设如果在生命周期中发生Control Events 之前的任何事件期间控件的“可见”属性设置为“假”(PreInit、Init、InitComplete、PreLoad和Load) 这些控件的事件不会执行。
这是正确的吗?我似乎找不到任何官方文件可以证实这一点。
【问题讨论】:
标签: asp.net events event-handling lifecycle web-controls