C# 显示/隐藏分区

C# 显示/隐藏分区,c#,asp.net,html,C#,Asp.net,Html,我正在VS2005上使用asp.NETAJAX控制工具包1.0。我正在使用collapseablePanel和AlwaysVisibleControlExtender控件。当我使用这些时,我注意到我的面板在被隐藏之前会闪烁几秒钟 为了避免这种情况,我决定将它放在一个div中,使其隐藏起来。 我想在使用控件时显示它 以下是我所拥有的: <div id="menuContent" style="display:none"> <asp:Panel ID="pnlAddNewCon

我正在VS2005上使用asp.NETAJAX控制工具包1.0。我正在使用collapseablePanel和AlwaysVisibleControlExtender控件。当我使用这些时,我注意到我的面板在被隐藏之前会闪烁几秒钟

为了避免这种情况,我决定将它放在一个div中,使其隐藏起来。 我想在使用控件时显示它

以下是我所拥有的:

<div id="menuContent" style="display:none">

 <asp:Panel ID="pnlAddNewContent" runat="server" Width="300px">
   ....//the panel stuff here
 </asp>
</div>
(适用于IE6,因为我不关心兼容性)

和body onload=onload=“showdiv();”


它在加载时正确隐藏,但我无法让它再次显示。有人有解决方案吗?

您试图通过设置可见性来显示它,但使用display将其隐藏

你真的想要这样的东西:


document.getElementbyId('menuContent').style.display='block'

也许这就是你要找的

Javascript函数:

function showHide(descriptor) 
{    
    var layer = document.getElementById(descriptor);
    if (layer != null) {
        if (layer.style.display != 'none') {
            layer.style.display = 'none'; //hide layer              
        } else {
            layer.style.display = 'block';//show layer
        }       
    }
}
HTML:


一些信息

基本上必须使用可见性隐藏和可见属性,因为它们在折叠面板上最有效。

注意:更改可见性保留渲染布局空间,更改显示更改渲染布局(例如显示:无有效折叠元素)。感谢annakata,这是一个有用的建议。。它解决了甲烷的问题,我做到了,但使用了隐藏和可见的可见性。你的一个没有按我希望的方式在衣领上正常工作,很高兴你把它整理好了。我建议将显示样式设置为“过度可见”,因为“显示”会删除页面中的内容,而“可见”只会使其不可见,但仍会占用页面上的空间,这可能会导致页面上出现大的空白,而“显示”会(或应该)出现这样的情况让每件事都朝上移动,以取代它的位置,这是更常见的方法。谢谢,你能帮我解决这个问题吗?请:谢谢,我这样做了,但使用了隐藏和可见,使用可见性。你的一个没有按照我希望的方式在拼贴面板上正常工作。实际上没有正常工作(见本帖:
function showHide(descriptor) 
{    
    var layer = document.getElementById(descriptor);
    if (layer != null) {
        if (layer.style.display != 'none') {
            layer.style.display = 'none'; //hide layer              
        } else {
            layer.style.display = 'block';//show layer
        }       
    }
}
<a href="javascript:showHide('divInfo');"><img id="imgInfo" src="info.gif" border="0" /></a>
<div style="display: none;" id="divInfo">some info</div>