我有一个GridView,它设置了RowDataBound
个事件。
如果我在另一个控件的事件(例如按钮的OnClick
事件)引起的回发期间将GridView的“Visible”属性更改为“False”,GridView的事件是否仍会触发?
查看ASP.NET Page Life Cycle Overview我无法确定是否会出现这种情况,因为文档只是说Control Events
事件发生在Load
事件之后和{{1}之前} event,但没有给出我可以看到的顺序,也没有关于“Visible”属性是否会改变它的事件执行的指示。
我会假设,虽然可能不正确,但是当事件导致回发时,导致回发的事件将首先执行,然后后续控制事件将按照特定顺序执行。如果控件的事件将“可见”属性更改为“True”而另一个控件在回发之前为“False”,那么变为可见的控件将“赶上”它在循环移动到{之前触发的事件{1}}页面事件。
我还假设如果在生命周期LoadComplete
,LoadComplete
Control Events
之前的任何事件期间控件的“可见”属性设置为“False”,{ {1}},PreInit
和Init
)这些控件的事件无法执行。
这是对的吗?我似乎找不到任何证实这一点的官方文件。
答案 0 :(得分:0)
可见属性值不会影响页面中发生的事件序列和内部控件。 唯一的问题是,如果该控件的Visible设置为false,则不会调用控件的Render事件。
生命周期中的哪个事件设置值并不重要。
顺序是:
重申通过更改控件的 Visible 属性的值来触发事件没有序列更改。此外,添加动态控件时也没有追赶概念。