有一个广泛的任务。有一个更新面板upDetails,当用户从主表中选择任何项目时,它会显示详细信息表(最初可见= false),我们应该设置详细信息.Visible = true;
但它在我放置它的任何地方/事件中都不起作用——既不是 BL 方法,也不是预渲染。它仍然是看不见的
但是当我不让它最初不可见时,一切正常
我做错了什么?
提前致谢
您是在谈论ASP.NET Ajax UpdatePanel控件吗?尝试在 UpdatePanel 中放置一个“真正的”面板控件 (asp:Panel),并将该控件的可见性设置为 false/true,并使 UpdatePanel 可见。
如果 updatepanel 可见性设置为 false,则不会在输出中呈现。没有被渲染,它不存在客户端,然后它不能被使用(不是 ajax 事件)。
使用占位符可以解决您的问题。
不幸的是,我搜索了很长时间,进行了实验,但无法让它发挥作用。我的最终决定是将我想在占位符控件中显示/隐藏的内容包装起来。它们为您提供了在不添加标记的情况下切换可见性的灵活性。
您应该检查以确保包含您面板的任何控件都是可见的。如果不是,则在 updatepanel 控件上设置 visible 属性将不会执行任何操作,因此您需要首先确保容器控件可见。