我有一个 .aspx,我在其中从代码隐藏动态添加几个面板。我想根据特定条件显示或隐藏它们。所以我正在使用。
Panel P1=new Panel();
Panel P2=new Panel();
P1.Visible=P2.Visible=false;
if(//Panel1 condition is true)
P1.Visible=true;
if(//Panel2 condition is true)
P2.Visible=true;
现在,当我在开发人员工具中查看 DOM 时,没有标记对应的隐藏面板。我所看到的只是可见面板的标记。
我认为 .Visible=false
会将 display:none
添加到元素的样式中,而 .Visible=true
将添加 display:block
到元素的样式,所以我可以根据需要使用 javascript 进行一些 DOM 操作。是我的理解有误还是我在这里遗漏了什么?
最佳答案
服务器端对象 Visible=false 从渲染中移除它们的 Html 代码
让它 CSS Visible=false:
使用:
System.Web.UI.WebControls.Panel panel = new System.Web.UI.WebControls.Panel();
panel.Style["display"] = "none";
关于javascript - Panel.Visible=false 不添加到 DOM 中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45453634/