如何阻止Web控件加载子控件?

时间:2009-09-08 20:31:13

标签: asp.net controls web-controls multiview

这适用于ASP.NET。想想多视图控件。它有1到多个视图控件。每个视图控件都具有保持控件的能力,但是,一次只能看到一个视图。

记住这一点,我想我想“告诉”不可见的视图为NOT LOAD,因此,不要加载子控件。

在我的示例中,在视图加载期间,我检查它是否是活动视图。如果它不活动,则我停止处理负载。遗憾的是,未激活的视图仍会运行其加载事件,并且控制树中的所有控件都会运行其负载。

回到问题:是否有办法阻止子控件针对不活动的视图运行?

代码示例:

Private Sub viewDisplayArticle_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles viewDisplayArticle.Load

  If Not mvwHealthArticles.ActiveViewIndex = mvwHealthArticlesView.DisplayArticle Then Exit Sub

  callSomeKillerMethod()

End Sub

1 个答案:

答案 0 :(得分:1)

将非可见子控件的Visible属性设置为False,然后在Visible为true时仅在子控件中运行Load事件处理程序。

Private Sub viewDisplayArticle_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles viewDisplayArticle.Load

  If Visble = True
  Then ' Load Logic
  Else ' do nothing

End Sub