1

我在一个有 5 个选项卡的 ASPX 页面中有一个选项卡控件。我在这个控件上加载了 5 个 ascx 页面。我在第二个主 ascx 控件中有 4 个 ascx 子控件。这类似于第二个主 ascx 页面上的向导。当我加载第二个 TAB 时,我将使它对第一个子 ascx 控件可见。基于对该控件上任何值的选择,我将第二个 ascx 子控件设为可见真,而将第一个 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 -

只需引发一个事件来更改下一个控件

4

1 回答 1

0

在没有看到实际代码的情况下很难说,但是,当您不使用Visible=False任何控件时,该控件实际上将由 .Net 呈现,因此在源代码视图中什么也看不到。

理想情况下,您应该将这些控件放入 a并根据您的条件<div>显示/隐藏。<div>

更新

此外,查看您的(最近添加的)代码,您从Init显示所有 3 个开始,然后在load您隐藏最后 2 个开始。看起来有点毫无意义,因为load在您的init

另外 - 如果你不包装你的loadinit代码,If (Not IsPostback)那么每次重新加载页面时都会触发它。将您的代码包装进去If (Not IsPostback),它将防止load覆盖您设置的内容ReviewEnterReportDetailsId_ERDScreenEvent

于 2013-05-14T19:09:13.017 回答