我有一个具有属性的Panel,Visible设置为False
<asp:Panel ID="pnlUpload" runat="server" Visible="False" />
我尝试使用javascript作为下面的代码使其可见
document.getElementById('<%= Panel1.ClientID %>').style.visibility = 'visible';
但它不起作用,任何想法的人?
答案 0 :(得分:8)
设置Visible =“false”使得面板不会在生成的HTML中呈现。如果你想让它在客户端显示/隐藏,你需要使它成为Visible =“true”并在style属性中使用CSS class /,其中“display”属性值为“block”或“none”as必需的。
答案 1 :(得分:2)
我的回答是没有ASP经验,但有很多JS / HTML / CSS经验,如果我完全错了,请耐心等待...
我想说Visible="False"
标签不等同于CSS style="visibility:hidden;"
,因此JS调用无效。
答案 2 :(得分:1)
我试过.style.visibility ='visible'和visible =“true”和.style.display ='block' 和.style.display ='inline'所有这些东西都行不通。 但如果你写.style.display ='none'就行了。 任何人都知道解决方案 请告诉我 感谢
答案 3 :(得分:0)
我回答几乎没有ASP经验,比如Flash84x :-)
似乎在asp中,当你设置“Visibile = false”时,不会创建面板。
如果您想使用自定义JavaScript而不是.NET工具来隐藏面板,您应该直接在标签中应用样式,如下所示:
<asp:Panel id="pnlUpload" runat="server"
Style="visibility:hidden;background-color:#CC9999;
颜色:#FFFFFF;宽度:200;高度:200;
边界:实心1;填充:10" &GT;
.....
然后它会在html中渲染这样的东西 :
<div id="pnlUpload" class="text" style="visibility:hidden;
背景色:#CC9999;颜色:#FFFFFF;宽度:200; 高度:200;边界:实心1;填充:10" &GT; .....
</div>
当然相应的javascript将是:
<script language="JavaScript">
document.getElementById('pnlUpload').style.visibility = 'visible';
</script>
答案 4 :(得分:0)
请将您的面板放入div中 并使用以下方式更改样式
<div>
<asp:Panel ID="pnlUpload" runat="server" Visible="False" />
</div>
的javascript
function visible()
{
document.getElementById('<%=pnlUpload.ClientID %>').style.display = 'block'
}
答案 5 :(得分:0)
要显示asp控件,您需要使用属性
ClientVisible
实施例:
<asp:Panel ID="someId" runat="server" ClientInstanceName="someIdClient" ClientVisible="False" />
如前一篇文章所述,该属性
Visible="False"
导致无法渲染控件。
要通过Javascript访问隐藏控件,只需键入:
function myFunction(){ someIdClient.SetVisible(true)
答案 6 :(得分:0)
不要使用可见性。
document.getElementById("<%=myPanel.ClientID%>").style.display = "none"; //not visible
document.getElementById("<%=myPanel.ClientID%>").style.display = "inline"; //visible