我在一个ASPX页面中有一个Tab控件,它有5个选项卡。我在这个控件上加载了5个ascx页面。我在第二个主要的ascx控件中有4个ascx子控件。这就像第二个主要的ascx页面上的向导。当我加载第二个TAB时,我将使第一个子ascx控件可见。根据对该控件的任何值的选择,我对第二个ascx子控件显示为true,对第一个ascx子控件显示为false。多数民众赞成没有用。我无法在页面中看到任何内容。它的装载是空的,没有任何控件。
可能是什么问题?
父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 -
只是举起一个事件来改变下一个控件
答案 0 :(得分:0)
在没有看到实际代码的情况下,有点难以说,但是,当您使用Visible=False
时,该控件实际上不会呈现.Net,因此在源代码视图中看不到任何内容。
理想情况下,您应该将这些控件放入<div>
并根据您的条件显示/隐藏<div>
。
<强>更新强>
此外,查看您(最近添加的)代码,您可以在Init
中开始显示全部3,然后在load
中隐藏最后一个代码2.似乎有点无意义{{ 1}}在load
此外 - 如果您未将init
和load
代码包装在init
中,则每次重新加载页面时都会触发该代码。将您的代码包裹在If (Not IsPostback)
中,这会阻止If (Not IsPostback)
覆盖您在load