2013-05-14 54 views
1

我有一個Tab控件在一個ASPX頁面有5個選項卡。我在這個控件上加載5個ascx頁面。在第二個主要的ascx控件中有4個ascx子控件。這是第二個主要ascx頁面上的嚮導。當我加載第二個選項卡時,我會將其顯示爲第一個子控件。基於該控件上的任何值的選擇,我將第2個ascx子控件顯示爲true,對第1個ascx子控件顯示爲false。那不行。我無法在頁面中看到任何內容。它的裝入是空的,沒有任何控件。Ascx控件可見虛假問題

可能是什麼問題?

家長ASCX - 從孩子的ascx自定義事件

  Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init 
      ReviewEnterReportDetailsId.Visible = True 
      EnterReportDetailId.Visible = True 
      EnterReportViewDetail1.Visible = True 
     End Sub 

     Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
      ReviewEnterReportDetailsId.Visible = True 
      EnterReportDetailId.Visible = False 
      EnterReportViewDetail1.Visible = False 
     End Sub 

     Protected Sub ReviewEnterReportDetailsId_ERDScreenEvent(ByVal sender As Object, ByVal e As System.EventArgs) Handles ReviewEnterReportDetailsId.ERDScreenEvent 
      ReviewEnterReportDetailsId.Visible = False 
      EnterReportDetailId.Visible = True 
      EnterReportViewDetail1.Visible = False 
     End Sub 

兒童ASCX -

就引發一個事件來改變下控制

+1

有些代碼請嗎? –

+0

添加了一些更新到我的答案 - 應該讓你去。 – Darren

回答

0

沒有看到實際的代碼,這一點很難說,但是,當您使用Visible=False時,該控件的任何內容都不會被.Net渲染,因此在源代碼視圖中看不到任何內容。

理想情況下,您應該將這些控件放入<div>,並根據您的條件顯示/隱藏<div>

UPDATE

此外,看着你(最近添加)代碼,您在Init通過顯示所有3開始,然後在load隱藏的最後2似乎有點毫無意義的load是您init

而且之後解僱 - 如果你不If (Not IsPostback)那麼它將被解僱每次重新加載頁面包住loadinit代碼。在If (Not IsPostback)包裝你的代碼,它會阻止load重寫你設置的內容ReviewEnterReportDetailsId_ERDScreenEvent