设置按钮不可见,事件不起作用

问题描述

我有一个 Visual Basic 项目,我有一个页面(Parent.aspx),里面有一个用户控件(ChildForm.ascx),用户控件有一个复选框列表,如果选择更改,我会导致回发并发送事件

Protected Sub checkBoxList_checked(ByVal sender As Object,ByVal e As EventArgs) Handles checkBoxList.SelectedindexChanged
    RaiseEvent MyEvent(sender,e)
End Sub

使按钮在父视图上不可见

    Protected Sub ChildForm_MyEvent(ByVal sender As Object,ByVal e As EventArgs) Handles ChildForm.MyEvent

        If condition Then
            btnSave.Visible = False
        Else
            btnSave.Visible= True
        End If

End Sub

当我调试时,我看到断点命中所有代码行并且条件按预期应用,但按钮没有隐藏,我不知道为什么如果设置正确的值它永远不会刷新父页面显示更改,即使它确实会导致回发。

请帮忙

解决方法

检查您的页面加载事件(加载、预渲染、预渲染完成)以确保您没有在其中设置可见性属性。如果是,您可能需要使用 “如果不是 IsPostBack”