防止一个控件的页面生命周期

时间:2010-12-16 15:11:36

标签: asp.net web-controls

我正在使用文件管理器类型WebControl执行大量回发。它被放置在相对复杂的Page内。我想阻止WebControl导致整个Page完成整个生命周期。 UpdatePanel有点帮助,但还不够。

有没有办法将WebControlPage的其余部分隔离开来?我能想到的唯一方法是将WebControl放在单独的Page中并在原始iframe中创建Page。不幸的是,这也意味着我的WebControl属性/设置不再位于原始Page中。如果我想要WebControl的两个实例具有不同的设置,那么我必须为每个设置创建Page并在我的iframes中引用正确的实例。不像我想的那样“拖放”。还有其他建议吗?

2 个答案:

答案 0 :(得分:1)

很难说,你无法阻止控件进入生命周期;但是无论如何都要确定,在某个页面回发期间,您可以通过执行以下操作来阻止代码在每个事件处理程序中运行:

if (_shouldNotRun == true)
   return;

//Event handler code

基本上,找出一些方法来指示控件是否应该运行可能是一种选择。 IFrame会起作用,但是你必须处理你提到的问题。你能解决这个问题吗?

HTH。

答案 1 :(得分:1)

不是100%确定在PostBack上调用的可覆盖的事件。页面生命周期的良好来源(http://msdn.microsoft.com/en-us/library/ms178472.aspx)

但听起来好像重制你的控件以创建可能阻止大部分回发的函数的Ajax webservice请求会更好吗?

干杯, 斯蒂芬