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