Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
取消隐藏一个<;asp:面板>;使用javascript_Javascript_C#_Asp.net - Fatal编程技术网

取消隐藏一个<;asp:面板>;使用javascript

取消隐藏一个<;asp:面板>;使用javascript,javascript,c#,asp.net,Javascript,C#,Asp.net,我有一个隐藏在css显示中:无并且我希望在出现错误时显示面板。在javascript中将样式设置为'block'无效 document.getElementById('<%= UxErrorPanel.ClientID %>').style.display = 'block'; document.getElementById(“”).style.display='block'; 函数HidePanel(){ document.getElementBy

我有一个
隐藏在css
显示中:无并且我希望在出现错误时显示面板。在javascript中将样式设置为
'block'
无效

document.getElementById('<%= UxErrorPanel.ClientID %>').style.display = 'block';            
document.getElementById(“”).style.display='block';



函数HidePanel(){
document.getElementById(“”).style.display='block';
}
很快就会被隐藏起来。
这是我在玩儿。但是我认为您可以使用这个HTML/JS并获得自己的解决方案

编辑:要使用更改添加更多上下文。。。CSS类通过visibility属性而不是display隐藏元素时也遇到过类似的问题,这就是我在面板上设置
style=“display:none;”“
的原因。请注意,IntelliSense可能会试图告诉您这不是一个可以设置的属性,但请忽略它。ASP控件有时会让人头疼

如果您使用的是jQuery,那么只需使用
.toggle()
或<代码>fadeToggle()
获取一些额外动画


函数HidePanel(){
document.getElementById(“”).style.display='block';
}
很快就会被隐藏起来。
这是我在玩儿。但是我认为您可以使用这个HTML/JS并获得自己的解决方案

编辑:要使用更改添加更多上下文。。。CSS类通过visibility属性而不是display隐藏元素时也遇到过类似的问题,这就是我在面板上设置
style=“display:none;”“
的原因。请注意,IntelliSense可能会试图告诉您这不是一个可以设置的属性,但请忽略它。ASP控件有时会让人头疼


如果您使用的是jQuery,那么只需使用
.toggle()
或<代码>fadeToggle()获取一些额外动画

浏览器控制台中有错误吗?您是否检查了呈现的HTML和JS(使用浏览器的Inspect或View源代码工具)以检查面板的ID和JavaScript中的ID是否匹配?(面板将呈现为
,因此这就是您在HTML中查找的内容。)此JavaScript显示在您的页面中的何处?按照上面编写的方式,它将在浏览器中呈现脚本块后立即执行。因此,如果脚本块早于页面中的面板,它将在面板存在之前执行,因此找不到任何要更新的内容。这可能也是由于面板上的
隐藏类造成的。请尝试删除该类。@ChrisBarr我假设该类正在添加
display:none
属性。它当然不是内联添加的。但是OP可以使用元素检查器来确定应用了什么规则,以及从何处开始。但是是的,也许使用JS来切换那个类会更有意义,而不是直接设置style属性。。。我相信asp面板将添加内嵌样式来隐藏/显示它们,然后手动添加任何CSS类。我们实际上对CSS样式表一无所知,所以我们只能猜测。依我看,如果你只想用JS隐藏/显示一个div,只需要使用纯HTML而不是像这样使用服务器端控件。你的浏览器控制台中有错误吗?您是否检查了呈现的HTML和JS(使用浏览器的Inspect或View源代码工具)以检查面板的ID和JavaScript中的ID是否匹配?(面板将呈现为
,因此这就是您在HTML中查找的内容。)此JavaScript显示在您的页面中的何处?按照上面编写的方式,它将在浏览器中呈现脚本块后立即执行。因此,如果脚本块早于页面中的面板,它将在面板存在之前执行,因此找不到任何要更新的内容。这可能也是由于面板上的
隐藏类造成的。请尝试删除该类。@ChrisBarr我假设该类正在添加
display:none
属性。它当然不是内联添加的。但是OP可以使用元素检查器来确定应用了什么规则,以及从何处开始。但是是的,也许使用JS来切换那个类会更有意义,而不是直接设置style属性。。。我相信asp面板将添加内嵌样式来隐藏/显示它们,然后手动添加任何CSS类。我们实际上对CSS样式表一无所知,所以我们只能猜测。依我看,如果你只想用JS隐藏/显示一个div,只需使用纯HTML,而不是像这样使用服务器端控件。@TylerRoper也许你应该阅读他最初提出的问题。他无法通过JS隐藏面板。我给他贴了一份解决方案。这不难理解。@TylerRoper也许你应该读一下他问的最初的问题。他无法通过JS隐藏面板。我给他贴了一份解决方案。这不难理解。
<asp:Panel CssClass="alert alert-danger hidden" ID="UxErrorPanel" runat="server">
        <asp:Label runat="server" ID="UxLabelErrorHeader" Text="Unable to connect to the Stripe payment provider"></asp:Label>
        <br />
        <asp:Label runat="server" ID="UxLabelErrorMessage"></asp:Label>
</asp:Panel>
    <!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function HidePanel() {
            document.getElementById('<%= pnlMain.ClientID %>').style.display = 'block';
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
        <div>
            <asp:Button ID="btnPushMe" runat="server" OnClientClick="HidePanel(); return false;" Text="Push Me" />
            <asp:Panel ID="pnlMain" runat="server" style="display: none;">
                <label>Going to be hidden, soon.</label>
            </asp:Panel>
        </div>
    </form>
</body>
</html>