这适用于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
答案 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